JS遍历数组

for

如果用var会造成变量声明提前等问题
for(var i = 1; i <= arr.length; i++){
console.log(arr[i - 1]);
}

for(let i = 0; i < arr.length; i++){
console.log(arr[i]);
}

 

for(语句1;语句2;语句4){
语句3;
}

// 语句1:初始化语句 用来初始化变量
// 语句2:循环的判断条件
// 语句3:循环体
// 语句4:循环体结束之后执行的代码

forEach

forEach() 数组的每一个元素执行一次提供的函数,没有返回值

arr.forEach(item => {
    console.log(item);
    
})

map

类似forEach 数组中的每一个都执行一次函数,但是会返回一个新数组,新数组接受了每一次执行函数的返回值;
let arr1
= arr.map(item => item * item)

filter

filter 返回一个新数组,数组的值是每一次函数中返回true的值,有筛选的作用
let arr1
= arr.filter(item => item > 500)

every

every 返回一个Boolean类型的值,只要有一个值是false,那么就返回false

some

some 只要有一个返回true 那么就返回true;

find

find() 返回的是当第一个function返回true的那个元素;与filter的区别在于返回的形式不同;

// let arr =[
// {id: 1, name: 'zs', age: '18'},
// {id: 2, name: 'zs1', age: '18'},
// {id: 3, name: 'zs2', age: '18'},
// {id: 4, name: 'zs3', age: '18'}
// ]
// let arr5 = arr.find(item => item.id == 3)
// console.log(arr5);

 

posted @ 2019-04-30 15:38  萧逝  阅读(86)  评论(0编辑  收藏  举报