今天介紹的陣列方法,不會回傳新陣列
而是會判斷或回傳布林值得方法
some 會將陣列中的每一個元素傳進 callback 函式中做判斷,只要有任一個元素符合判斷條件就會回傳 true,全部都不符合才會回傳 false
語法:
some 會將陣列中的元素一個一個傳進 callback 函式做判斷。
callback 函式有三個參數
Array.some(function callback(){
// return 判斷
})
範例:
var a=[1,2,3,4,5,6,7,8];
console.log(a.some(function(currentValue){
return currentValue>9
}))
every() 與 some() 很像。
every() 會將陣列中的元素一個一個帶進 callback 函式做判斷,並回傳判斷的結果
與 some() 不同的是,some() 只要任一元素符合結果就會回傳 true。
而 every() 需要所有的元素都符合判斷的結果,才會回傳 true,只要有一個元素不符合就會回傳 false
語法:
every() 會將陣列中的元素一個一個傳進 callback 函式做判斷
callback 函式裡面有三個元素
currentValue,正被傳進函式處理的元素index(選填),正被處理的元素的索引值array(選填),呼叫 every() 的陣列Array.every(function callback(currentValue,index,array){
// return 判斷
})
範例:
function isBigEnough(currentValue){
return currentValue >=10
}
var a=[1,2,3,4,5,6,7,8].every(isBigEnough);
var b=[9,10,11,12].every(isBigEnough);
var c=[11,12,13,14,15].every(isBigEnough);
console.log(a); // false,不符合
console.log(b); // false,沒有全部符合
console.log(c); // true,全部符合