首頁  >  文章  >  web前端  >  數組some和every是es6方法嗎

數組some和every是es6方法嗎

青灯夜游
青灯夜游原創
2022-05-19 17:40:142459瀏覽

some和every是es6方法。 some()和every()是es6 Array物件新增的方法,some()用來偵測陣列中是否存在符合條件的元素,只要有一個符合就會傳回true;而every()用來偵測陣列的所有元素是否都符合指定的條件。

數組some和every是es6方法嗎

本教學操作環境: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("全是奇数。");
}

數組some和every是es6方法嗎

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("不全为偶数");
}

數組some和every是es6方法嗎

【相關推薦:javascript影片教學web前端

以上是數組some和every是es6方法嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn