美文网首页
js遍历数组-map、forEach、filter、some、e

js遍历数组-map、forEach、filter、some、e

作者: 俩小两 | 来源:发表于2018-12-06 14:23 被阅读0次

    在牛客上看到这样一题,题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。一个简单的数组遍历题。

    function Find(target, array)
    {
        let result = false
        array.map(v => {
            v.length ? v.map(w => {
                w === target ? result = true : ''
            }) : v === target ? result = true : ''
        })
        return result
    }
    

    提交完答案后,发现了一个神奇的评论

    function Find(target, array)
    {
        return array.some(arr => arr.some(e => e === target))
    }
    

    这里小记一下some以及类似的every,对比一下其他遍历方法

    some() 有一个元素满足条件,即返回true
    const a = [1, 2, 3]
    console.log(a.some(v => v > 5))  // false
    console.log(a.some(v => v < 2))  // true
    
    every() 所有元素满足条件,即返回true
    const a = [1, 2, 3]
    console.log(a.every(v => v < 5))  // true
    console.log(a.every(v => v < 2))  // false
    
    filter() 返回包含满足条件元素的数组
    const a = [1, 2, 3]
    console.log(a.filter(v => v < 3))  // [1, 2]
    
    map() 返回一个新数组
    const a = [1, 2, 3]
    console.log(a.map(v => v + 5))  // [6, 7, 8]
    
    forEach() 仅循环,无返回值,本质上相当于for
    const a = [1, 2, 3]
    a.forEach(v => console.log(v))  // 1    2    3
    

    相关文章

      网友评论

          本文标题:js遍历数组-map、forEach、filter、some、e

          本文链接:https://www.haomeiwen.com/subject/toyyfqtx.html