js遍历数组some()方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js遍历数组some()方法相关的知识,希望对你有一定的参考价值。
参考技术A 题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。一个简单的数组遍历题。答案:js语言:
functionFind(target, array)returnarray.some(arr => arr.some(e => e === target))
解释:
外面的some方法是对每个一维进行遍历,里面的some方法是对每个一维的每一个元素进行遍历,判断是否严格等于要找的target元素,复杂度为n方。
=>是es6语法中的arrow function
例:(x) => x + 6 相当于
function(x)
return x + 6;
;
那么e => e === target表示返回严格等于target的元素e
some()方法用于检测数组中的元素是否满足指定条件
some() 方法会依次执行数组的每个元素:
如果有一个元素满足条件,则表达式返回 true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。
注意: some() 不会对空数组进行检测。
注意: some() 不会改变原始数组。
这里小记一下some以及类似的every,对比一下其他遍历方法
some() 有一个元素满足条件,即返回true
const a = [1, 2, 3]console.log(a.some(v => v > 5)) //falseconsole.log(a.some(v => v < 2)) //true
every() 所有元素满足条件,即返回true
const a = [1, 2, 3]console.log(a.every(v => v < 5)) //trueconsole.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遍历数组some()方法的主要内容,如果未能解决你的问题,请参考以下文章