技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運(yùn)營

贊助商

分類目錄

贊助商

最新文章

搜索

JavaScript檢查元素是否在數(shù)組中:includes()使用示例

作者:admin    時(shí)間:2022-7-13 10:43:26    瀏覽:

本文將介紹includes()檢查元素是否在數(shù)組中的 JavaScript Array 方法。

indexOf()方法的缺陷

使用數(shù)組時(shí),你經(jīng)常需要檢查數(shù)組是否包含某元素。為此,你可以使用indexOf()等方法,參考JS數(shù)組元素定位方法使用區(qū)別:indexOf()、find()和findIndex(),如下所示:

let numbers = [1,2,3];
if(numbers.indexOf(2) !== -1){
   // process here
}

indexOf()方法返回?cái)?shù)組中第一次出現(xiàn)的元素的索引。如果數(shù)組不包含元素,則indexOf()返回-1。

此外,indexOf()使用嚴(yán)格相等運(yùn)算符 ( ===) 進(jìn)行比較,因此,它不適用NaN,如下例所示:

[NaN].indexOf(NaN); // -1

在此示例中,數(shù)組包含一個(gè) NaN 元素。然而,indexOf(NaN)回報(bào)-1

includes()方法彌補(bǔ)了indexOf()方法的缺陷

為了解決這個(gè)問題,開發(fā)人員想出了一個(gè)輔助函數(shù)。

ECMAScript 2016 通過提供Array.prototype.includes()方法標(biāo)準(zhǔn)化了這個(gè)功能。

如果數(shù)組包含給定元素,則該includes()方法返回true;否則,它返回false。

下面說明了該includes()方法的語法:

array.includes(element,fromIndex);

includes()接受兩個(gè)參數(shù):

  • 第一個(gè)參數(shù)是element可以搜索的。
  • fromIndex是數(shù)組中搜索開始的位置。

請(qǐng)參見以下示例:

[1,2,3].includes(2); // true
[1,2,3].includes(4); // false
[1,2,3].includes(1,1); // false

indexOf()方法不同,includes()方法對(duì)NaN工作得非常好:

[NaN].includes(NaN); // true

請(qǐng)注意,includes()不區(qū)分+0-0,如下例所示:

[-0].includes(+0); // true

includes()方法使用示例

下面的示例演示如何使用includes()方法檢查對(duì)象是否在數(shù)組中。

let bmw = {name: 'BMW' }, 
    toyota = { name: 'Toyota'},
    ford = {name: 'Ford'}

let cars = [ford, toyota];

console.log(cars.includes(ford)); // true
console.log(cars.includes(bmw)); // false

demodownload

在這個(gè)例子中:

首先,我們用兩個(gè)對(duì)象初始化cars數(shù)組:fordtoyota

然后,我們使用該includes()方法檢查cars數(shù)組是否包含ford對(duì)象,在這種情況下,它返回true。

最后, bmw對(duì)象不在 cars數(shù)組中,因此includes()方法按預(yù)期返回false。

總結(jié)

在本文中,我們學(xué)習(xí)了如何使用 JavaScript Array includes()方法檢查元素是否在數(shù)組中。

相關(guān)文章

標(biāo)簽: includes  
相關(guān)文章
    x
    • 站長推薦
    /* 左側(cè)顯示文章內(nèi)容目錄 */