關於 Array.every()
前言
最近看到 Array.every() ,抽空做個學習,在此做個紀錄。
內容
範例如下
const isBelowThreshold = function(currentValue) { //console.log(currentValue); return currentValue < 30 }; const array1 = [1, 30, 39, 49, 10, 13]; console.log(array1.every(isBelowThreshold)); // console.log(array1.find( (element)=>element >= 30) === undefined );
Array.every() 的功能是用來對陣列的每個元素做檢查用的,檢查使用的是個 funciton ,必須還傳 true 或 false ,接著就透過這個 function 來對每個元素做檢查,在"isBlowThreshold"裡使用 console.log() 可以發現會從頭開始檢查,當回傳是 false 的時候就會終止,這讓我想到最近學的 Array.find() ,所以範例用 Array.find() 也實現了一樣的效果,要注意的是檢查的條件也一點點改變。這個功能幾乎可以被 Array.find() 給替代,而且 Array.every() 只支援從頭開始檢查,而 Array.find() 卻可以透過 Array.findLast() 來從尾開始檢查,所以可以的話就用 Array.find() 來替代吧。
參考資料
[ developer.mozilla.org ] Array.prototype.every()
沒有留言:
張貼留言