Javascript的数组与字典用法与遍历对象的技巧


在JavaScript中,数组(Array)和对象(Object,常被误称为字典)是两种基本的数据结构,它们有着各自的特点和用法。下面是关于它们的基本用法以及遍历对象的技巧。

### 数组(Array)

**定义数组**:


let fruits = ["Apple", "Banana", "Cherry"];

**遍历数组**:

- 使用`for`循环


for (let i = 0; i < fruits.length; i++) {
    console.log(fruits[i]);
}

- 使用`forEach`方法


fruits.forEach(function(fruit) {
    console.log(fruit);
});

// 或者使用箭头函数
fruits.forEach(fruit => console.log(fruit));

- 使用`for...of`循环(ES6+)


for (let fruit of fruits) {
    console.log(fruit);
}

### 对象(Object)

**定义对象**:


let person = {
    name: "John",
    age: 30,
    city: "New York"
};

**遍历对象(属性)**:

- 使用`for...in`循环


for (let key in person) {
    if (person.hasOwnProperty(key)) {
        console.log(key + ": " + person[key]);
    }
}

注意:`for...in`循环会遍历对象自身的和继承的可枚举属性(包括其原型链上的属性)。使用`hasOwnProperty`可以过滤掉继承的属性。

- 使用`Object.keys()`, `Object.values()`, 或 `Object.entries()` 与`for...of`循环(ES6+)


// 遍历键
for (let key of Object.keys(person)) {
    console.log(key + ": " + person[key]);
}

// 遍历值
for (let value of Object.values(person)) {
    console.log(value);
}

// 遍历键值对
for (let [key, value] of Object.entries(person)) {
    console.log(`${key}: ${value}`);
}

这些方法提供了更灵活的方式来处理对象的属性,特别是当需要直接操作键或值时。

希望这能帮助你理解JavaScript中数组和对象的基本用法以及遍历对象的技巧。