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實(shí)現(xiàn)簡(jiǎn)單的上傳進(jìn)度條
大家在上傳文件時(shí)都會(huì)看到一個(gè)非常精致的進(jìn)度條,從進(jìn)度條上我們很直觀的可以看到文件、圖片上傳進(jìn)度,本文分享了php實(shí)現(xiàn)簡(jiǎn)單的上傳進(jìn)度條,感興趣的小伙伴們可以參考一下。2015-11-11
PHP htmlspecialchars_decode()函數(shù)用法講解
今天小編就為大家分享一篇關(guān)于PHP htmlspecialchars_decode()函數(shù)用法講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03
PHP使用PDO訪問(wèn)oracle數(shù)據(jù)庫(kù)的步驟詳解
POD擴(kuò)展是在PHP5中加入,該擴(kuò)展提供PHP內(nèi)置類 PDO來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn),不同數(shù)據(jù)庫(kù)使用相同的方法名,解決數(shù)據(jù)庫(kù)連接不統(tǒng)一的問(wèn)題。下面這篇文章主要給大家介紹了關(guān)于PHP使用PDO訪問(wèn)oracle數(shù)據(jù)庫(kù)的步驟,需要的朋友可以參考下。2017-09-09
淺析is_writable的php實(shí)現(xiàn)
本篇文章是對(duì)is_writable的php實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
php下HTTP Response中的Chunked編碼實(shí)現(xiàn)方法
有時(shí)候,Web服務(wù)器生成HTTP Response是無(wú)法在Header就確定消息大小的,這時(shí)一般來(lái)說(shuō)服務(wù)器將不會(huì)提供Content-Length的頭信息,而采用Chunked編碼動(dòng)態(tài)的提供body內(nèi)容的長(zhǎng)度。2008-11-11
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之間的區(qū)別
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之間的區(qū)別2009-09-09
PHP版網(wǎng)站緩存加快打開(kāi)速度的方法分享
PHP版網(wǎng)站緩存加快打開(kāi)速度的方法分享,需要的朋友可以參考下2012-06-06

