在JavaScript中,有几种可以用来循环遍历数组的方法。其中常用的几种:
- for循环:使用传统的for循环可以对数组进行遍历。
- forEach()方法:forEach()是数组原型上的方法,用于遍历数组的每一个元素,并对其执行指定的回调函数。
- for...of循环:正如之前所提到的,for...of循环可以用于遍历可迭代对象,包括数组。
- map()方法:map()方法会创建一个新数组,其中每个元素都是对原始数组中的元素调用回调函数后的返回值。
- filter()方法:filter()方法用于创建一个新数组,其中包含满足指定条件的原始数组中的元素。
这几种方法在循环遍历:空,null,和undefined时有所差别。
当数组元素包含“空”时,如:[1,2,,3]
普通for循环和for...of循环对:空,null,和undefined都能成功遍历
forEach()方法、map()方法、filter()方法都会跳过数组中为“空”时的元素,遍历时不会运行相关逻辑代码,map()方法会在返回数组中返回空白占位,filter()方法返回结果会移除“空”元素。
当数组元素包含“null”或“undefined”时,如:[1,2,null,3]、[1,2,undefined,3]
forEach()方法、map()方法、filter()方法都正常循环,但filter()方法返回结果会移除相应元素。
const csArr = [1, 2, , 3]
for (let i = 0; i < csArr.length; i++) {
console.log('for', csArr[i]);
}
console.log('----------------------------------');
for (const [index, item] of csArr.entries()) {
console.log('for...of', item);
}
console.log('----------------------------------');
csArr.forEach((item, index) => {
console.log('forEach', item);
})
console.log('----------------------------------');
const newArr = csArr.map(function (element) {
console.log('map', element);
return element;
});
console.log(newArr);
console.log('----------------------------------');
const filteredArr = csArr.filter(function (element) {
console.log('filter', element);
return element;
});
console.log(filteredArr);
717

被折叠的 条评论
为什么被折叠?



