本文实例讲述了JS中数组与对象的遍历方法。分享给大家供大家参考,具体如下:
一、数组的遍历:
首先定义一个数组
rush:js;">
arr=['sNow','bran','king','nightking'];
1、for
循环,需要知道数组的长度;
2、foreach
,没有返回值,可以不知道数组长度;
rush:js;">
arr.forEach(function(ele,index){
console.log(index);
console.log(ele)
})
3、map
函数,遍历数组每个元素,并回调操作,需要返回值,返回值组成新数组,原数组不变;
rush:js;">
var newarr=arr.map(function(i){
return "hello "+i
});
console.log(newarr)
4、filter
函数:过滤通过条件的元素组成一个新数组,原数组不变;
rush:js;">
var newarr=arr.filter(function(i){
return i == "bran"
});
console.log(newarr)
5、some
函数,遍历数组中是否有符合条件的函数,返回布尔值;
4
});
console.log(yy) //true
6、every
函数,遍历数组是否每个元素都符合条件,返回布尔值;
4
});
console.log(xx) //false
语法:
rush:js;">
arr.reduce(callback,initialValue)
rush:js;">
[0,1,2,3,4].reduce(function(prevIoUsValue,currentValue,index,array){
return prevIoUsValue + currentValue;
});
- prevIoUsValue:上一次调用回调返回的值,或者是提供的初始值(initialValue);
:当前被处理的值;
- index:当前元素在数组中的索引;
- array:调用reduce的数组;
- initialValue:作为第一次调用callback的第一个参数;
例如:
rush:js;">
var total = [0,3].reduce(function(a,b) {
return a + b;
});
// total == 6
var flattened = [[0,1],[2,3],[4,5]].reduce(function(a,b) {
return a.concat(b);
});
// flattened is [0,4,5]
要提供initialValue
的话:
rush:js;">
var total = [0,b) {
return a + b;
},4);
console.log(total); //10
二、对象的遍历
rush:js;">
var obj={sNow:1,bran:2,king:3,nightking:4};
for(let i in obj){
console.log(i+','+obj[i])
}
in
也可以用来遍历数组,不过i
对应于数组的key
值:
rush:js;">
for(let i in arr){
console.log(i+','+arr[i])
}
PS:
这里再为大家推荐一款JS数组遍历方式分析对比工具供大家参考:在线JS常见遍历方式性能分析比较工具:
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《错误与调试技巧总结》
希望本文所述对大家JavaScript程序设计有所帮助。
原文地址:https://www.jb51.cc/js/30987.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。