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);