溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在javascript中使用 some()函數(shù)

發(fā)布時(shí)間:2020-12-30 15:24:59 來源:億速云 閱讀:165 作者:Leah 欄目:開發(fā)技術(shù)

如何在javascript中使用 some()函數(shù)?針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

參數(shù)說明
callback: 要對每個(gè)數(shù)組元素執(zhí)行的回調(diào)函數(shù)。
thisObject : 在執(zhí)行回調(diào)函數(shù)時(shí)定義的this對象。

功能說明
對數(shù)組中的每個(gè)元素都執(zhí)行一次指定的函數(shù)(callback),直到此函數(shù)返回 true,如果發(fā)現(xiàn)這個(gè)元素,some 將返回 true,如果回調(diào)函數(shù)對每個(gè)元素執(zhí)行后都返回 false ,some 將返回 false。它只對數(shù)組中的非空元素執(zhí)行指定的函數(shù),沒有賦值或者已經(jīng)刪除的元素將被忽略。

回調(diào)函數(shù)可以有三個(gè)參數(shù):當(dāng)前元素,當(dāng)前元素的索引和當(dāng)前的數(shù)組對象。

如參數(shù) thisObject 被傳遞進(jìn)來,它將被當(dāng)做回調(diào)函數(shù)(callback)內(nèi)部的 this 對象,如果沒有傳遞或者為null,那么將會使用全局對象。

復(fù)制代碼 代碼如下:


<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í)行到最后一個(gè)元素這一期間,數(shù)組元素被刪除或者被更改的,將以回調(diào)函數(shù)訪問到該元素的時(shí)間為準(zhǔn),被刪除的元素將被忽略。

檢查是否所有的數(shù)組元素都大于等于10

復(fù)制代碼 代碼如下:


<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

關(guān)于如何在javascript中使用 some()函數(shù)問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI