深入浅出:JavaScript 遍历属性的全面指南264


在 JavaScript 中,遍历对象或数组的属性是常见且重要的操作。这样做可以让你获取、修改或删除属性值,从而在应用程序中实现许多功能。

遍历对象属性遍历对象属性的常见方法有:
* ():返回对象所有可枚举属性的名称,以数组形式。
* ():返回对象所有可枚举属性的值,以数组形式。
* ():返回对象所有可枚举属性的键值对,以数组形式。
* for...in:遍历对象的每个可枚举属性,包括继承的属性。
* ():只返回对象自身的可枚举属性的名称,不包括继承的属性。
* for...of:只遍历对象的可迭代属性(Symbol 属性除外),包括继承的属性。

示例:


const person = {
name: "John",
age: 30,
city: "New York"
};
// 使用 ()
const keys = (person);
(keys); // ["name", "age", "city"]
// 使用 ()
const values = (person);
(values); // ["John", 30, "New York"]
// 使用 ()
const entries = (person);
(entries); // [["name", "John"], ["age", 30], ["city", "New York"]]
// 使用 for...in
for (let key in person) {
(`${key}: ${person[key]}`);
}
// 使用 ()
const ownKeys = (person);
(ownKeys); // ["name", "age", "city"]
// 使用 for...of
for (let [key, value] of (person)) {
(`${key}: ${value}`);
}

遍历数组属性遍历数组属性的方法与对象类似,可以使用以下方法:
* ():依次遍历数组中的每个元素,并执行提供的回调函数。
* ():根据提供的回调函数,创建并返回一个新数组,其中每个元素都是原始数组中相应元素的转换结果。
* ():根据提供的回调函数,创建并返回一个新数组,其中只包含通过测试的元素。
* ():检查数组中是否有至少一个元素通过提供的回调函数测试。
* ():检查数组中的所有元素是否都通过提供的回调函数测试。

示例:


const numbers = [1, 2, 3, 4, 5];
// 使用 forEach()
((number) => {
(number);
});
// 使用 map()
const doubled = ((number) => number * 2);
(doubled); // [2, 4, 6, 8, 10]
// 使用 filter()
const even = ((number) => number % 2 === 0);
(even); // [2, 4]
// 使用 some()
const isAnyEven = ((number) => number % 2 === 0);
(isAnyEven); // true
// 使用 every()
const isAllEven = ((number) => number % 2 === 0);
(isAllEven); // false

注意事项* 遍历对象属性时,你只能访问可枚举属性。不可枚举属性(如 Symbol 属性)可以通过 () 方法访问。
* for...in 循环不仅会遍历对象的自身属性,还会遍历继承的属性。要避免这种情况,可以结合 hasOwnProperty() 方法。
* 遍历数组时,你只能访问索引属性。非索引属性可以通过 () 或 () 方法访问。
* 遍历数组总是从第一个元素开始,直到最后一个元素。不能从中间开始遍历。

JavaScript 提供了多种遍历对象和数组属性的方法,每种方法都有其特定的用途。通过理解这些方法,你可以有效地访问、修改或删除属性值,从而在应用程序中实现各种功能。

2025-01-05


上一篇:JavaScript 中变量的有趣类型

下一篇:JavaScript 高级视频处理指南