JS遍历数组和对象的常用方法有哪些?

简介: JS遍历数组和对象的常用方法有哪些?

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

遍历数组

   for 循环:

       这是最传统的遍历数组的方法。

   javascript

var array = [1, 2, 3, 4, 5];  
for (var i = 0; i < array.length; i++) {  
    console.log(array[i]);  

}

for...of 循环

(ES6+):

   专门用于遍历可迭代对象(包括数组、Map、Set、String、TypedArray、函数的 arguments 对象等等)。

javascript

var array = [1, 2, 3, 4, 5];  
for (var item of array) {  
    console.log(item);  

}

forEach 方法:

   forEach 是数组的一个方法,用于遍历数组的每个元素。

javascript

var array = [1, 2, 3, 4, 5];  
array.forEach(function(item) {  
    console.log(item);  

});

map 方法:

   map 方法也用于遍历数组,但通常用于生成新的数组,通过函数处理每个元素。

javascript

var array = [1, 2, 3, 4, 5];  
var newArray = array.map(function(item) {  
    return item * 2;  
});  

console.log(newArray); // [2, 4, 6, 8, 10] 

filter 方法:

   filter 方法用于过滤数组中的元素,返回满足条件的元素组成的新数组。

javascript

var array = [1, 2, 3, 4, 5];  
var filteredArray = array.filter(function(item) {  
    return item > 3;  
});  

console.log(filteredArray); // [4, 5] 

reduce 方法:

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

javascript

var array = [1, 2, 3, 4, 5];  
var sum = array.reduce(function(accumulator, currentValue) {  
    return accumulator + currentValue;  
}, 0);  

    console.log(sum); // 15 

  some 和 every 方法:

       some 测试数组中是否至少有一个元素通过由提供的函数实现的测试。

       every 测试数组的所有元素是否都通过了由提供的函数实现的测试。


遍历对象


   for...in 循环:

       用于遍历对象的可枚举属性(包括继承的属性)。


   javascript

var obj = {a: 1, b: 2, c: 3};  
for (var key in obj) {  
    if (obj.hasOwnProperty(key)) { // 过滤掉继承的属性  
        console.log(key, obj[key]);  
    }  

} 

Object.keys() 方法:

   返回一个表示给定对象的所有可枚举属性的字符串数组(不包括继承的属性)。

javascript

var obj = {a: 1, b: 2, c: 3};  
Object.keys(obj).forEach(function(key) {  
    console.log(key, obj[key]);  

});

Object.values() 方法(ES2017+):

   返回一个给定对象自身可枚举属性的值组成的数组,其排列与使用 for...in 循环的顺序相同(两者的主要区别是 for-in 循环枚举原型链中的属性)。

javascript

var obj = {a: 1, b: 2, c: 3};  
Object.values(obj).forEach(function(value) {  
    console.log(value);  

});
相关文章
|
3天前
|
存储 JavaScript 前端开发
JavaScript Number 对象
JavaScript Number 对象
8 0
|
3天前
|
JavaScript 前端开发
JavaScript prototype(原型对象)
JavaScript prototype(原型对象)
7 0
|
3天前
|
JavaScript 前端开发
JavaScript 对象
JavaScript 对象
8 0
|
4天前
|
JavaScript 前端开发
JavaScript遍历数组用splice方法删除元素,这样写可能有遗漏,你遇到过吗?
JavaScript遍历数组用splice方法删除元素,这样写可能有遗漏,你遇到过吗?
|
4天前
|
JavaScript 前端开发
JavaScript从二维数组抽取元素组成新数组的三种方法
JavaScript从二维数组抽取元素组成新数组的三种方法
|
4天前
|
JavaScript 前端开发
用Javascript对二维数组DIY按汉语拼音的排序方法
用Javascript对二维数组DIY按汉语拼音的排序方法
|
6天前
|
JSON JavaScript 前端开发
6-19|Python数据传到JS的方法
6-19|Python数据传到JS的方法
|
JavaScript 前端开发 数据安全/隐私保护
|
JavaScript 前端开发 数据安全/隐私保护
|
3月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
76 2