js遍历数组和对象的常用方法

发布时间:2024年01月24日

在JavaScript中,遍历数组和对象的常用方法有很多。以下是其中的一些:

遍历数组

1、forEach()

forEach()方法用于对数组的每个元素执行一次给定的函数。

 
javascriptlet arr = [1, 2, 3, 4, 5];
arr.forEach(function(element, index) {
console.log(element); // 打印当前元素的值
console.log(index); // 打印当前元素的索引
});

2、map()

map()方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后的返回值。

 
javascriptlet arr = [1, 2, 3, 4, 5];
let newArr = arr.map(function(element) {
return element * 2; // 将每个元素乘以2
});
console.log(newArr); // [2, 4, 6, 8, 10]

3、filter()

filter()方法创建一个新数组,其包含通过所提供函数实现的测试的所有元素。

 
javascriptlet arr = [1, 2, 3, 4, 5];
let newArr = arr.filter(function(element) {
return element % 2 === 0; // 筛选出所有偶数元素
});
console.log(newArr); // [2, 4]

4、reduce()

reduce()方法对累加器和数组中的每个元素(从左到右)应用一个函数,将其减少为单个输出值。

 
javascriptlet arr = [1, 2, 3, 4, 5];
let sum = arr.reduce(function(accumulator, element) {
return accumulator + element; // 求和操作
}, 0); // 初始值为0,即从0开始累加
console.log(sum); // 15,即1+2+3+4+5=15

遍历对象

5、for...in

for...in循环用于遍历可枚举的对象的属性。请注意,此方法不仅遍历自身的可枚举属性,还遍历其原型链上的属性。如果你只想遍历对象自身的属性,你可以使用hasOwnProperty()方法来检查属性是否是对象自身的属性。

 
javascriptlet obj = {a: 1, b: 2, c: 3};
for (let key in obj) {
if (obj.hasOwnProperty(key)) { // 检查属性是否是对象自身的属性,而不是原型链上的属性
console.log(key + ': ' + obj[key]); // 输出键和对应的值
}
}

6、Object.keys()?和?Object.values()?和?Object.entries()

这三个方法可以用来遍历对象的键、值或键值对。它们返回一个数组,包含了对象的所有键、值或键值对。Object.keys()返回一个数组,包含了对象的所有键;Object.values()返回一个数组,包含了对象的所有值;Object.entries()返回一个数组,包含了对象的所有键值对。这三个方法都不会遍历原型链上的属性。

 
javascriptlet obj = {a: 1, b: 2, c: 3};
console.log(Object.keys(obj)); // ['a', 'b', 'c'],返回所有键的数组
console.log(Object.values(obj)); // [1, 2, 3],返回所有值的数组
console.log(Object.entries(obj)); // [['a', 1], ['b', 2], ['c', 3]],返回所有键值对的数组,每个
文章来源:https://blog.csdn.net/zhang20040217/article/details/135827469
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。