Skip to content

some 方法的功能

some 是一个非常有用的数组方法,适用于需要测试数组中是否存在至少一个符合条件的元素的场景。 some 方法用于判断数组中是否至少有一个元素满足指定的测试条件。它对数组中的每个元素执行一个回调函数,直到找到一个满足条件的元素为止。如果找到这样的元素,some 方法会立即返回 true;如果遍历完所有元素都没有找到符合条件的元素,则返回 false

手写实现 some

javascript
Array.prototype.mySome = function(callback, thisArg) {
  if (typeof callback !== 'function') {
    throw new TypeError(callback + ' is not a function');
  }

  for (let i = 0; i < this.length; i++) {
    if (this.hasOwnProperty(i)) {
      if (callback.call(thisArg, this[i], i, this)) {
        return true;
      }
    }
  }
  
  return false;
};

// 测试
const numbers = [1, 5, 8, 12, 20];
const hasNumberGreaterThan10 = numbers.mySome((number) => number > 10);
console.log(hasNumberGreaterThan10); // 输出: true