javascript some()函數(shù)用法詳解
參數(shù)說(shuō)明
callback: 要對(duì)每個(gè)數(shù)組元素執(zhí)行的回調(diào)函數(shù)。
thisObject : 在執(zhí)行回調(diào)函數(shù)時(shí)定義的this對(duì)象。
功能說(shuō)明
對(duì)數(shù)組中的每個(gè)元素都執(zhí)行一次指定的函數(shù)(callback),直到此函數(shù)返回 true,如果發(fā)現(xiàn)這個(gè)元素,some 將返回 true,如果回調(diào)函數(shù)對(duì)每個(gè)元素執(zhí)行后都返回 false ,some 將返回 false。它只對(duì)數(shù)組中的非空元素執(zhí)行指定的函數(shù),沒(méi)有賦值或者已經(jīng)刪除的元素將被忽略。
回調(diào)函數(shù)可以有三個(gè)參數(shù):當(dāng)前元素,當(dāng)前元素的索引和當(dāng)前的數(shù)組對(duì)象。
如參數(shù) thisObject 被傳遞進(jìn)來(lái),它將被當(dāng)做回調(diào)函數(shù)(callback)內(nèi)部的 this 對(duì)象,如果沒(méi)有傳遞或者為null,那么將會(huì)使用全局對(duì)象。
<script language="JavaScript" type="text/javascript">
if (!Array.prototype.some)
{
Array.prototype.some = function(fun /*, thisp*/)
{
var len = this.length;
if (typeof fun != "function")
throw new TypeError();
var thisp = arguments[1];
for (var i = 0; i < len; i++)
{
if (i in this && fun.call(thisp, this[i], i, this))
return true;
}
return false;
};
}
</script>
some 不會(huì)改變?cè)袛?shù)組,記?。褐挥性诨卣{(diào)函數(shù)執(zhí)行前傳入的數(shù)組元素才有效,在回調(diào)函數(shù)開(kāi)始執(zhí)行后才添加的元素將被忽略,而在回調(diào)函數(shù)開(kāi)始執(zhí)行到最后一個(gè)元素這一期間,數(shù)組元素被刪除或者被更改的,將以回調(diào)函數(shù)訪問(wèn)到該元素的時(shí)間為準(zhǔn),被刪除的元素將被忽略。
檢查是否所有的數(shù)組元素都大于等于10
<script language="JavaScript" type="text/javascript">
if(!Array.prototype.some)
{
Array.prototype.some=function(fun)
{
var len=this.length;
if(typeof fun!="function")
throw new TypeError();
var thisp=arguments[1];for(var i=0;i<len;i++)
{
if(i in this&&fun.call(thisp,this[i],i,this))
return true;}
return false;};
}
function isBigEnough(element,index,array){return(element>=10);}
var passed=[2,5,8,1,4].some(isBigEnough);
document.writeln("[2, 5, 8, 1, 4].some(isBigEnough) :<strong>");
document.writeln(passed?'true':'false');
document.writeln("</strong><br />");
passed=[12,5,8,1,4].some(isBigEnough);
document.writeln("[12, 5, 8, 1, 4].some(isBigEnough) :<strong>");
document.writeln(passed?'true':'false');
document.writeln("</strong><br />");
</script>
function isBigEnough(element, index, array) {
return (element >= 10);
}
var passed = [2, 5, 8, 1, 4].some(isBigEnough);
// passed is false
passed = [12, 5, 8, 1, 4].some(isBigEnough);
// passed is true
小伙伴們是否對(duì)some()函數(shù)有所了解了呢,有什么問(wèn)題也可以給我留言
相關(guān)文章
php curl優(yōu)化下載微信頭像的方法總結(jié)
這篇文章主要給大家介紹了關(guān)于php curl優(yōu)化下載微信頭像的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09PHP將HTML轉(zhuǎn)換成文本的實(shí)現(xiàn)代碼
這篇文章主要介紹了PHP將HTML轉(zhuǎn)換成文本的實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-01-01php實(shí)現(xiàn)pdo數(shù)據(jù)庫(kù)操作類(lèi)過(guò)程詳解
這篇文章主要介紹了php實(shí)現(xiàn)pdo數(shù)據(jù)庫(kù)操作類(lèi)過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-12-12php讀取XML的常見(jiàn)方法實(shí)例總結(jié)
這篇文章主要介紹了php讀取XML的常見(jiàn)方法,結(jié)合實(shí)例形式總結(jié)了php基于DOMDocument、simplexml、正則及xmlreader讀取xml文件的相關(guān)操作技巧,需要的朋友可以參考下2017-04-04PHP結(jié)合JQueryJcrop實(shí)現(xiàn)圖片裁切實(shí)例詳解
這篇文章主要介紹了PHP結(jié)合JQueryJcrop實(shí)現(xiàn)圖片裁切實(shí)例,非常實(shí)用的一個(gè)功能,需要的朋友可以參考下2014-07-07PHP+Mysql日期時(shí)間如何轉(zhuǎn)換(UNIX時(shí)間戳和格式化日期)
UNIX時(shí)間戳和格式化日期是我們常打交道的兩個(gè)時(shí)間表示形式,Unix時(shí)間戳存儲(chǔ)、處理方便,但是不直觀,格式化日期直觀,但是處理起來(lái)不如Unix時(shí)間戳那么自如,所以有的時(shí)候需要互相轉(zhuǎn)換,下面給出互相轉(zhuǎn)換的幾種轉(zhuǎn)換方式2012-07-07php設(shè)計(jì)模式 Command(命令模式)
將一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象從而使你可用不同的請(qǐng)求對(duì)客戶(hù)進(jìn)行參數(shù)化,對(duì)請(qǐng)求排除或記錄請(qǐng)求日志,以及支持可取消的操作2011-06-06php開(kāi)發(fā)中的頁(yè)面跳轉(zhuǎn)方法總結(jié)
PHP頁(yè)面跳轉(zhuǎn)實(shí)現(xiàn)的功能就是將網(wǎng)站中一個(gè)網(wǎng)頁(yè)跳轉(zhuǎn)到另一個(gè)網(wǎng)頁(yè)中。對(duì)于剛剛學(xué)習(xí)PHP語(yǔ)言的朋友來(lái)說(shuō),是必須要掌握的基礎(chǔ)方法。2015-04-04