在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中数组和对象的基本用法以及遍历对象的技巧。