定義和用法
some() 方法用於檢測數組中的元素是否滿足指定條件(函數提供)。
some() 方法會依次執行數組的每個元素:
- 如果有一個元素滿足條件,則表達式返回true , 剩餘的元素不會再執行檢測。
- 如果沒有滿足條件的元素,則返回false。
注意: some() 不會對空數組進行檢測。
注意: some() 不會改變原始數組。
語法
array.some(function(currentValue,index,arr),thisValue)
參數說明
參數 | 描述 | ||||||||
---|---|---|---|---|---|---|---|---|---|
function(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;
}));