some的用法

123 阅读1分钟

用于判断一个集合(通常是数组或列表)中是否至少存在一个满足特定条件的元素。它是一种用于集合遍历和条件判断的高阶函数(Higher-Order Function)

MDN的官方解释如下: some()  方法测试数组中是否至少有一个元素通过了由提供的函数实现的测试。如果在数组中找到一个元素使得提供的函数返回 true,则返回 true;否则返回 false。它不会修改数组。

示例:

let arr2 = [{name: 'yx', age: 18},{name: 'yx', age:12}];
const strName = 'yx';
const strAge = 12;
let result = arr2.some(res => res.name == strName && res.age == strAge)
//result为true

some() 方法是一个迭代方法。它为数组中的每个元素调用一次指定的 callbackFn 函数,直到 callbackFn 返回一个真值。如果找到这样的元素,some() 方法将会立即返回 true 并停止遍历数组。否则,如果 callbackFn 对所有元素都返回假值some() 就会返回 false

示例:

function isThan10(ele, index, array){
    console.log(ele, 'ele')
    console.log(index, 'index')
    console.log(array, 'array')
    return ele > 10
}
[1,12,3,4,5].some(isThan10)
//打印如下
//1 'ele'
// 0 'index'
// [1, 12, 3, 4, 5] 'array'
// 12 'ele'
// 1 'index'
// [1, 12, 3, 4, 5] 'array'
//最后打印 true 终止执行,后续就不会再去遍历其他的元素了