以数组const arr = [1, 2, 3];
为例,有如下的方法可以用于遍历操作:
for
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
for-in
for(let index in arr){
console.log(arr[index]);
}
for-in
实际是遍历一个对象的可枚举属性,是无序的遍历,所以在需要有序的遍历数组时不能用for-in
。
for-of
for (let item of arr) {
console.log(item);
}
任何实现了可迭代协议(Iteration protocols) 的对象(Array,Map,Set,String等)都可用for-of
进行迭代。
forEach
arr.forEach((item, index) => {
console.log(item);
});
这里的forEach
指的是Array.prototype.forEach
,forEach
是数组特有的方法,其他数据结构不能使用该方法。当然某些数据结构也可以定义自己的forEach
方法,比如通过document.querySelectorAll
获取的NodeList
也拥有自己的forEach
方法,用法也和arry
的forEach
一样,但他们不是一个东西。
map
arr.map((item, index) => {
console.log(item);
});
注意:map会返回一个和元素组长度一样的新数组,新数组中的元素由元素组元素计算得到。
filter
arr.filter((item, index) => {
console.log(item);
});
注意:filter也会返回一个新数组,新数组长度<=原数组长度,新数组中元素由原数组中筛选得到。
以上是我能想到的所有方法,如果还有其他方法,希望提醒!
感谢大家阅读,另外,在这边帮朋友推一个爱心众筹,希望大家能够奉献点爱心,朋友母亲,身患直肠癌,目前在北京武警总医院接收治疗,可留言留下您的联系方式,日后感激大家!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。