前言
现在因为需要写Web前端,也超级喜欢上了JS,数组作为最常用的数据结构,6种常用的数组遍历方式,希望和大家一起来掌握
for in
var babys = ['sun', 'zhu', 'tang']
for (let index in babys) {
console.log(babys[index]);
}
for in语法用于遍历对象的属性,在JS种,数组也是object,整数下标则为它的属性,所以使用for in也可以遍历的元素
注意:由于for in遍历的是属性,所以数组对象不要再添加非数字的属性,不然也会遍历出来
for
var babys = ['sun', 'zhu', 'tang']
for (let index = 0; index < babys.length; index++) {
console.log(babys[index]);
}
数组的下标,即可获取元素,利用for循环,即可遍历数组的每一个元素,只需要将下标累加即可
while
var babys = ['sun', 'zhu', 'tang']
let index = 0;
while (index < babys.length) {
console.log(babys[index]);
index++;
}
while循环也是利用下标,与其for类似
forEach()方法
var babys = ['sun', 'zhu', 'tang']
babys.forEach(function (name) {
console.log(name);
})
forEach()是array对象的方法,它专门用于遍历数组,传入的参数为它回调的函数对象,为函数对象传入的参数为当前元素,以此完成每个元素的访问
for of
var babys = ['sun', 'zhu', 'tang']
for (item of babys) {
console.log(item)
}
ES6标准中,新增了for of这种方式,注意它和in的区别,of这里item每次存储是数组的元素,而for in的方式返回的是数组的属性,即整数下标
map()方法
let babys = ['sun', 'zhu', 'tang']
let newArray = babys.map(function (item) {
return item + "what"
})
console.log(newArray)
map()方法与forEach()方法类似,区别是map()方法会返回一个新创建的数组对象
总结
数组常用的6种遍历方式,你可以根据自己的需求选择适合的方式,为啥提供这么多方式呢?没办法,谁让别的语言也有了呢,滚滚长江东逝水……