ECMAScript5为数组定义了5个迭代方法。每个方法都有接受两个参数。
- 第一个参数为在每一项上运行的函数。
- 第二个(可选)为运行改函数的作用于对象–影响this值。
- 这些函数会接收三个参数:数组项的值item,该项再数组中位置index,数组对象本身array
array.数组方法((item,index,array)=>{})
every():对数组中的每一项运行给定函数,如果该函数中对每一项都返回true,则返回true
1
2
3
4
5const arr = [1,2,3,4,5];
let result = arr.every((item,index,array){
return item>2 //有一项不符合条件就返回false
});
console.log(result) //falsefilter():对数组中的每一项运行给定函数,返回该函会返回ture的项组成的数组。
1
2
3
4
5const arr = [1,2,3,4,5]
let result = arr.filter((item,index,array)=>{
return item > 2
});
console.log(result) // [3,4,5]forEach():对数组中的每一项运行给定函数,这个方法没有返回值。
1
2
3
4let arr = [1,2,3,4,5]
arr.forEach((item,index,array)=>{
console.log(item) //一次打印1,2,3,4,5
})map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
1
2
3
4
5const arr = [1,2,3];
let result = arr.map((item,index,array)=>{
return item*2
})
console.log(result) //[2,4,6]some():对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true
1
2
3
4
5const arr = [1,2,3]
let result = arr.some((item,index,array)=>{
return item>1;
})
console.log(result) //true
!!!以上的方法都不会修改原数组!!!!
关于ES6新增的数组方法,以后更新