Array.prototype.some 是 JavaScript 中数组的一个方法,它用于检测数组中是否至少有一个元素满足指定的条件(通过提供的函数)。
具体来说,Array.prototype.some 方法接受一个测试函数作为参数,并对数组中的每个元素执行该测试函数,如果任何一个元素使得测试函数返回 true,则 some 方法立即返回 true。如果所有元素都导致测试函数返回 false,则 some 方法返回 false。
例如:
const numbers = [1, 2, 3, 4, 5];
const isEven = (number) => number % 2 === 0;
const hasEvenNumber = numbers.some(isEven);
console.log(hasEvenNumber); // 输出 true
在这个例子中,numbers 是一个包含数字的数组,isEven 是一个测试函数,它检查一个数字是否是偶数。使用 some 方法,我们检查数组中是否至少有一个元素是偶数,因此 hasEvenNumber 将会是 true,因为数组中包含偶数元素。
总的来说,Array.prototype.some 是一个非常方便的方法,可以用于在数组中查找符合特定条件的元素,而不必遍历整个数组。
常用场景(将两次选择的对象合并):
confirmSelectShops(newShopArr) {
newShopArr.forEach(newShop => {
if (!this.selectedShopArr.some(oldShop => oldShop.id === newShop.id)) {
this.selectedShopArr.push(newShop)
}
})
}