原生JS實現 some() 方法

定義和用法

some() 方法用於檢測數組中的元素是否滿足指定條件(函數提供)。

some() 方法會依次執行數組的每個元素:

  • 如果有一個元素滿足條件,則表達式返回true , 剩餘的元素不會再執行檢測。
  • 如果沒有滿足條件的元素,則返回false。

注意: some() 不會對空數組進行檢測。

注意: some() 不會改變原始數組。

語法

array.some(function(currentValue,index,arr),thisValue)

參數說明

參數 描述
function(currentValue, index,arr) 必須。函數,數組中的每個元素都會執行這個函數
函數參數:
參數 描述
currentValue 必須。當前元素的值
index 可選。當前元素的索引值
arr 可選。當前元素屬於的數組對象
thisValue 可選。對象作爲該執行回調時使用,傳遞給函數,用作 "this" 的值。
如果省略了 thisValue ,"this" 的值爲 "undefined"

實現

// 實現some
Array.prototype.some = function(fn, value){
    if (typeof fn !== "function") {
        return false;
    }
    var arr = this;
    for (var i = 0; i < arr.length; i++) {
        var result = fn.call(value, arr[i], i, arr);
        if (result) return true;
    }
    return false;
}

測試

var arr3 = [2,23,4,2,4,2,2];
console.log(arr3.some(function(item, index, arr){
    return item >= 6;
}));

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章