数组迭代方法挖坑
一、 every()
这个迭代方法会对数组的每一项进行函数操作,判断数组的每一项是否满足制定条件,如果全部满足则返回true,否则则返回false
这个方法有个函数参数,这个函数参数上面有三个参数,第一个是数组每一项,第二个是数组的索引,第三个是原数组
例如
let arr = ['1','2','3', '4', '5']
let myarr = arr.every(function (item, index, arr) {
console.log(item, index, arr)
return parseInt(item) >= 1
})
console.log(myarr) => // true
let myarr = arr.every(function (item, index, arr) {
console.log(item, index, arr)
return parseInt(item) > 2
})
console.log(myarr) => // false
二、some()
这个方法跟every()方法类似,根据字面意思其实我们也能理解,every()方法就是每一个,所有要全部为真才为真,而some()方法就是某一个,所以并不需要全部为真,只要其中一个满足条件,即返回true,否则返回false
这个方法有个函数参数,这个函数参数上面有三个参数,第一个是数组每一项,第二个是数组的索引,第三个是原数组
Tips 这个方法跟every()方法不同的是,every()会执行数组每一项,但是some()只会执行到满足条件的数组项就会停止,如果都没有满足条件的,则会执行完数组每一项
例如
let myarr1 = arr.some(function (item, index, arr) {
console.log(item, index, arr)
return parseInt(item) > 3
})
console.log(myarr1) => // true
let myarr1 = arr.some(function (item, index, arr) {
console.log(item, index, arr)
return parseInt(item) > 7
})
console.log(myarr1) => // false
三、filter()
类似于过滤器,将遍历数组,将满足数组里面满足条件的项组合成一个新数组返回
这个方法有个函数参数,这个函数参数上面有三个参数,第一个是数组每一项,第二个是数组的索引,第三个是原数组
let myarr2 = arr.filter(function (item, index, arr) {
console.log(item, index, arr)
return parseInt(item) > 3
})
console.log(myarr2) => // ['4', '5']
四、map()
这个方法会遍历数组每一项,返回每一项的函数处理结果组合成一个数组返回
let myarr3 = arr.map(function (item, index, arr) {
console.log(item, index, arr)
return parseInt(item) > 3
})
console.log(myarr3) => // [false, false, false, true, true]
五、forEach()
这个方法会遍历数组的每一项,没有返回值
let myarr4 = arr.forEach(function (item, index, arr) {
console.log(item, index, arr)
})