es6 some()方法是用來(lái)檢測(cè)數(shù)組中是否存在符合指定條件的元素,存在就返回true,不存在就返回false;換個(gè)角度,也可用來(lái)檢測(cè)數(shù)組中的所有元素是否都不符合指定條件,都不符合則返回false,有一個(gè)或者多個(gè)符合則返回true。
本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。
some() 方法可以用于檢測(cè)數(shù)組中的元素是否滿足指定條件(函數(shù)提供),存在就返回 true,不存在就返回 false。只要數(shù)組中有一個(gè)元素滿足條件,some() 就返回 true;
換個(gè)角度思考,some() 也可以用來(lái)檢測(cè)數(shù)組中的所有元素是否都不符合指定條件,都不符合的話就返回 false,有一個(gè)或者多個(gè)符合的話就返回 true。
array.some(function callbackfn(Value,index,array),thisValue)
-
array:必需參數(shù),一個(gè)數(shù)組對(duì)象。
-
function callbackfn(value,index,array)
:一個(gè)回調(diào)函數(shù),必需參數(shù),最多可接受三個(gè)參數(shù):-
value:當(dāng)前數(shù)組元素的值,不可省略。
-
index:當(dāng)前數(shù)組元素的數(shù)字索引。
-
array:當(dāng)前元素屬于的數(shù)組對(duì)象。
some() 方法會(huì)為 array 中的每個(gè)元素調(diào)用 callbackfn 函數(shù),直到 callbackfn 返回 true,或直到到達(dá)數(shù)組的結(jié)尾。
-
-
thisArg:可選參數(shù),可在 callbackfn 函數(shù)中為其引用 this 關(guān)鍵字的對(duì)象。如果省略 thisArg,則 undefined 將用作返回 false。
song() 方法會(huì)按升序索引順序?qū)γ總€(gè)數(shù)組元素調(diào)用 callbackfn 函數(shù),直到 callbackfn 函數(shù)返回 true。如果找到導(dǎo)致 callbackfn 返回 true 的元素,則 some() 方法會(huì)立即返回 true。如果回調(diào)不對(duì)任何元素返回 true,則 some() 方法會(huì)返回 false。
some() 方法不為數(shù)組中缺少的元素調(diào)用該回調(diào)函數(shù)。除了數(shù)組對(duì)象之外,some() 方法可由具有 length 屬性且具有已按數(shù)字編制索引的屬性名的任何對(duì)象使用,如關(guān)聯(lián)數(shù)組、Arguments 等。
示例:檢測(cè)數(shù)組中元素的值是否都為奇數(shù)
如果 some() 方法檢測(cè)到偶數(shù),則返回 true,并提示不全是奇數(shù);如果沒(méi)有檢測(cè)到偶數(shù),則提示全部是奇數(shù)。
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("不全是奇數(shù)。"); } else { console.log("全是奇數(shù)。"); }
【推薦學(xué)習(xí):javascript高級(jí)教程】