some和every是es6方法。 some()和every()是es6 Array物件新增的方法,some()用來偵測陣列中是否存在符合條件的元素,只要有一個符合就會傳回true;而every()用來偵測陣列的所有元素是否都符合指定的條件。
本教學操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。
some()和every()是es6 Array物件新增的方法。
some()方法:偵測陣列中是否存在符合條件的元素
#every()方法:偵測陣列元素是否全部符合指定條件
es6 some()方法
#some() 方法用來偵測陣列中是否有符合指定條件的元素,存在(只要有一個符合)就回傳true,不存在就回傳false。
換個角度思考,some() 也可以用來檢測數組中的所有元素是否都不符合指定條件,都不符合的話就返回false,有一個或者多個符合的話就返回true。
some() 具體用法如下:
array.some(callbackfn[, thisArg]);
參數說明:
array:必要參數,陣列物件。
callbackfn:必要參數,一個接收量最多三個參數的函數。 some() 方法會為 array 中的每個元素呼叫 callbackfn 函數,直到 callbackfn 傳回 true,或直到到達陣列的結尾。
thisArg:可選參數,可在 callbackfn 函數中為其引用 this 關鍵字的物件。如果省略 thisArg,則 undefined 將用作傳回 false。
song() 方法會依升序索引順序對每個陣列元素呼叫 callbackfn 函數,直到 callbackfn 函數傳回 true。如果找到導致 callbackfn 回傳 true 的元素,則 some() 方法會立即傳回 true。如果回呼不對任何元素回傳 true,則 some() 方法會回傳 false。
回呼函數語法如下:
function callbackfn(value, index, array);
使用者可以使用三個參數來宣告回呼函數。回調函數的參數說明如下。
value:陣列元素的值。
index:陣列元素的數字索引。
array:包含該元素的陣列物件。
some() 方法不會為陣列中缺少的元素呼叫該回呼函數。除了陣列物件之外,some() 方法可由具有 length 屬性且具有已按數字編制索引的屬性名的任何物件使用,如關聯數組、Arguments 等。
範例:偵測陣列中元素的值是否為奇數
如果 some() 方法偵測到偶數,則傳回 true,並提示不全是奇數;如果沒有偵測到偶數,則提示全部是奇數。
function f(value, index, ar) { if (value % 2 == 0) { return true; } } var a = [1,15,4,10,11,22]; var evens = a.some(f); if (evens) { console.log("不全是奇数。"); } else { console.log("全是奇数。"); }
es6 every()方法
every() 方法用來判斷陣列的所有元素是否都符合指定的條件;只有當數組中的所有元素都滿足條件時,才傳回true,否則傳回false。
every() 具體用法如下:
array.every(callbackfn[, thisArg]);
參數說明:
#array:必要參數,陣列物件。
callbackfn:必要參數,一個接收量最多三個參數的函數。 every() 方法會為 array 中的每個元素呼叫 callbackfn函數,直到 callbackfn 傳回 false,或直到到達陣列的結尾。 (回呼函數的語法可參考上面的some()方法)
thisArg:可選參數,可在 callbackfn 函數中為其引用 this 關鍵字的物件。如果省略 thisArg,則 undefined 將用作 this 值。
如果 callbackfn 函數為所有陣列元素傳回 true,則傳回值為 true;否則傳回值為 false。如果數組沒有元素,則 every() 方法將傳回 true。
every() 方法會以升序順序對每個陣列元素呼叫一次 callbackfn 函數,直到 callbackfn 函數傳回 false。如果找到導致 callbackfn 傳回 false 的元素,則 every() 方法會立即傳回 false;否則,every() 方法傳回 true。 every() 方法不會為數組中缺少的元素呼叫該回呼函數。
除了陣列物件之外,every() 方法可由具有 length 屬性具有自己按數字編制索引的屬性名稱的任何物件使用,如關聯數組物件、Arguments 等。
範例:偵測數組中元素是否都為偶數,並進行提示
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("不全为偶数"); }
【相關推薦:javascript影片教學、web前端】
以上是數組some和every是es6方法嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!