《数组遍历方法总结》

48 阅读1分钟

for...i

let arr=[1, 2, 3, 4, 5];
for(let i=0;i<arr.lenght;i++){
    console.log(i);
}

while

var num = 1;
while(num <= 100){
    console.log('你好');
    num++;
    //里面应该也有计数器,初始化变量
    //里面应该也有操作表达式 完成计数器的更新,防止死循环。
}

for...in

let obj = {a:1, b:2, c:3} 

for (let key in obj) {

console.log(key);

} 
//a b c 

for..of

const array1 = ['a', 'b', 'c']
for (const val of array1) {
console.log(val)
} 
//a b c

foreach

let arr=[1, 2, 3, 4, 5];
arr.forEach(function (item,index) {

console.log(item,index);

})

map() 可以在不破坏原数组的情况下同时获取一个满足自己设立的条件的新数组

let arr = [1, 2, 3, 4, 5];
const newArr = arr.map((item,index)=>{

return item+10

})
console.log(newArr);

使用map它在内存创建一个空数组,每一次迭代结果return给创建的空数组,最后结果把这个空数组的内存地址赋值给了newArr

filter()

过滤(筛选),从原数组中筛选满足条件的数据组成一个新数组。

 let arr = [1, 2, 3, 4, 5];
let newArr = arr.filter(item => {

        return item>2;
        
})
console.log(newArr);

some()

some可以通过return设置判断条件,当数组中有一项满足条件时,some()方法返回true,所有项都不满足条件则返回false

let arr = [1, 2, 3, 4, 5];
let newArr = arr.some(item => item == 2);
console.log(newArr); //true

every()

every可以通过return设置判断条件,当数组中有一项不满足条件时,every方法返回false,只有所有条件都满足条件,才返回true。

let arr = [1, 2, 3, 4, 5];
let newArr = arr.every(item => item > 2);
console.log(newArr); //false
let arr = [1, 2, 3, 4, 5];
let newArr = arr.every(item => item > 0);
console.log(newArr);//true

reduce()

reduce中的函数,需要接收两个参数,类似于累加和操作。

const arr = [1,2,3,4,5];
let newArr = arr.reduce(function(item,next){

    return item + next
    
})
console.log(newArr)  // 15