数组迭代方法挖坑

一、 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)
  })
posted @ 2019-04-17 16:11  不会代码的前端  阅读(217)  评论(0编辑  收藏  举报