javascript some()函數(shù)用法詳解
參數(shù)說明
callback: 要對每個數(shù)組元素執(zhí)行的回調(diào)函數(shù)。
thisObject : 在執(zhí)行回調(diào)函數(shù)時定義的this對象。
功能說明
對數(shù)組中的每個元素都執(zhí)行一次指定的函數(shù)(callback),直到此函數(shù)返回 true,如果發(fā)現(xiàn)這個元素,some 將返回 true,如果回調(diào)函數(shù)對每個元素執(zhí)行后都返回 false ,some 將返回 false。它只對數(shù)組中的非空元素執(zhí)行指定的函數(shù),沒有賦值或者已經(jīng)刪除的元素將被忽略。
回調(diào)函數(shù)可以有三個參數(shù):當(dāng)前元素,當(dāng)前元素的索引和當(dāng)前的數(shù)組對象。
如參數(shù) thisObject 被傳遞進(jìn)來,它將被當(dāng)做回調(diào)函數(shù)(callback)內(nèi)部的 this 對象,如果沒有傳遞或者為null,那么將會使用全局對象。
<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 不會改變原有數(shù)組,記住:只有在回調(diào)函數(shù)執(zhí)行前傳入的數(shù)組元素才有效,在回調(diào)函數(shù)開始執(zhí)行后才添加的元素將被忽略,而在回調(diào)函數(shù)開始執(zhí)行到最后一個元素這一期間,數(shù)組元素被刪除或者被更改的,將以回調(diào)函數(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
小伙伴們是否對some()函數(shù)有所了解了呢,有什么問題也可以給我留言
相關(guān)文章
php curl優(yōu)化下載微信頭像的方法總結(jié)
這篇文章主要給大家介紹了關(guān)于php curl優(yōu)化下載微信頭像的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09PHP將HTML轉(zhuǎn)換成文本的實現(xiàn)代碼
這篇文章主要介紹了PHP將HTML轉(zhuǎn)換成文本的實現(xiàn)代碼,需要的朋友可以參考下2015-01-01php實現(xiàn)pdo數(shù)據(jù)庫操作類過程詳解
這篇文章主要介紹了php實現(xiàn)pdo數(shù)據(jù)庫操作類過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-12-12PHP結(jié)合JQueryJcrop實現(xiàn)圖片裁切實例詳解
這篇文章主要介紹了PHP結(jié)合JQueryJcrop實現(xiàn)圖片裁切實例,非常實用的一個功能,需要的朋友可以參考下2014-07-07PHP+Mysql日期時間如何轉(zhuǎn)換(UNIX時間戳和格式化日期)
UNIX時間戳和格式化日期是我們常打交道的兩個時間表示形式,Unix時間戳存儲、處理方便,但是不直觀,格式化日期直觀,但是處理起來不如Unix時間戳那么自如,所以有的時候需要互相轉(zhuǎn)換,下面給出互相轉(zhuǎn)換的幾種轉(zhuǎn)換方式2012-07-07php開發(fā)中的頁面跳轉(zhuǎn)方法總結(jié)
PHP頁面跳轉(zhuǎn)實現(xiàn)的功能就是將網(wǎng)站中一個網(wǎng)頁跳轉(zhuǎn)到另一個網(wǎng)頁中。對于剛剛學(xué)習(xí)PHP語言的朋友來說,是必須要掌握的基礎(chǔ)方法。2015-04-04