溫馨提示×

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

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

javascript如何判斷值是否在數(shù)組中

發(fā)布時(shí)間:2021-12-07 15:04:24 來源:億速云 閱讀:260 作者:小新 欄目:web開發(fā)

這篇文章主要為大家展示了“javascript如何判斷值是否在數(shù)組中”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“javascript如何判斷值是否在數(shù)組中”這篇文章吧。

方法:1、利用for語句遍歷數(shù)組,將數(shù)組元素和指定值進(jìn)行比較,相等則存在;2、使用indexOf方法,如果元素存在于數(shù)組中則返回下標(biāo)值,不存在則返回“-1”;3、利用inArray()方法,如果元素存在則返回下標(biāo)值,不存在則返回“-1”。

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5&&jquery1.10.2版、Dell G3電腦。

js中存在一個(gè)數(shù)組,如何判斷一個(gè)元素是否存在于這個(gè)數(shù)組中呢,首先是通過循環(huán)的辦法判斷,代碼如下:

var arr = ['a','s','d','f'];
console.info(isInArray(arr,'a'));//循環(huán)的方式

/**
 * 使用循環(huán)的方式判斷一個(gè)元素是否存在于一個(gè)數(shù)組中
 * @param {Object} arr 數(shù)組
 * @param {Object} value 元素值
 */
function isInArray(arr,value){
    for(var i = 0; i < arr.length; i++){
        if(value === arr[i]){
            return true;
        }
    }
    return false;
}

這種方式是比較通用的一種方式,但是需要自己寫函數(shù),下面看一下第二種方式:

var arr = ['a','s','d','f'];
console.info(arr.indexOf('a'));//在IE某些版本中不支持,可以自行擴(kuò)展

這種方式是直接使用數(shù)組的indexOf方法來判斷,如果元素存在于數(shù)組中,那么返回元素在數(shù)組中的下標(biāo)值,如果不存在,那么返回-1,注意indexOf是區(qū)分大小寫的,字母O必需大寫,不然是會(huì)報(bào)錯(cuò)的,另外,該方法在某些版本的IE中是不起作用的,因此在使用之前需要做一下判斷,修改后的代碼如下所示:

/**
 * 使用indexOf判斷元素是否存在于數(shù)組中
 * @param {Object} arr 數(shù)組
 * @param {Object} value 元素值
 */
function isInArray3(arr,value){
    if(arr.indexOf&&typeof(arr.indexOf)=='function'){
        var index = arr.indexOf(value);
        if(index >= 0){
            return true;
        }
    }
    return false;
}

第三種方式,就是使用jquery的inArray方法,該方法返回元素在數(shù)組中的下標(biāo),如果不存在與數(shù)組中,那么返回-1,代碼如下所示:

/**
 * 使用jquery的inArray方法判斷元素是否存在于數(shù)組中
 * @param {Object} arr 數(shù)組
 * @param {Object} value 元素值
 */
function isInArray2(arr,value){
    var index = $.inArray(value,arr);
    if(index >= 0){
        return true;
    }
    return false;
}

這種方式可以用來刪除一個(gè)數(shù)組中的未知下標(biāo)值的元素,代碼如下所示:

var arr = ['a','s','d','f'];
console.info("刪除元素之前的數(shù)組:"+arr);
arr.splice($.inArray('a',arr),1);
console.info("刪除元素之后的數(shù)組:"+arr);

執(zhí)行結(jié)果是:

[Web瀏覽器] "刪除元素之前的數(shù)組:a,s,d,f"    /test/index.html (12)
[Web瀏覽器] "刪除元素之后的數(shù)組:s,d,f"  /test/index.html (14)

以上是“javascript如何判斷值是否在數(shù)組中”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

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

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

AI