在javascript中,every()方法用來偵測陣列的所有元素是否都符合指定條件(透過回呼函數提供),語法「array.every(function(currentValue,index,arr), thisValue) 」。
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
every() 方法用來偵測陣列的所有元素是否都滿足指定條件(透過回呼函數提供)。
every() 方法使用指定函數來偵測陣列中的所有元素:
如果陣列中偵測到有一個元素不滿足,則整個表達式傳回false ,且剩餘的元素不會再進行檢測。
如果所有元素都符合條件,則傳回 true。
語法:
array.every(function(currentValue,index,arr), thisValue)
參數:
function(currentValue, index,arr)
:一個回呼(callbackfn)函數,不可省略,最多可接受三個參數:
value:目前陣列元素的值,不可省略。
index:目前陣列元素的數字索引。
array:目前元素屬於的陣列物件。
thisValue
:可選。物件作為該執行回呼時使用,傳遞給函數,用作 "this" 的值。如果省略了 thisValue ,"this" 的值為 "undefined" 。
every() 方法會以升序順序對每個陣列元素呼叫一次 callbackfn 函數,直到 callbackfn 函數傳回 false。如果找到導致 callbackfn 回傳 false 的元素,則 every() 方法會立即傳回 false;否則,every() 方法則傳回 true。 every() 方法不為數組中缺少的元素呼叫該回呼函數。
除了陣列物件之外,every() 方法可由任何具有 length 屬性具有自己依數字編製索引的屬性名稱的物件使用,如關聯陣列物件、Arguments 等。
範例1
以下範例偵測數組中元素是否都為偶數,並進行提示。
function f (value, index, ar) { if (value % 2 == 0) { return true; }else { return false; } } var a = [2,4,5,6,8]; if (a.every(f)) { console.log("都是偶数"); }else{ console.log("不全为偶数"); }
範例2
以下範例偵測數組中元素的值是否在指定範圍內。範圍值透過一個物件來設定。透過本範例示範 thisArg 參數的用法。
var f = function (value) { if (typrof value !== 'number') { return false; }else { return value >=this.min && value <= this.max; } var a = [10,15,19]; var obj = {min : 10, max : 20}; if (a.every(f, obj)) { console.log("都在指定范围内。"); } else { console.log("部分不在范围内。"); }
【推薦學習:javascript進階教學】
以上是javascript every()方法是做什麼的的詳細內容。更多資訊請關注PHP中文網其他相關文章!