ES6 includes方法完全指南

ES6 includes方法是JavaScript語言新增的一種數組方法,它被用於檢測一個數組是否包含一個指定的元素,返回一個布爾值。本文將從多個方面介紹ES6 includes方法,包括語法、參數、返回值、應用場景等。

一、ES6 includes方法語法

ES6 includes方法的語法十分簡單,僅需使用數組對象後直接調用,並傳入需要查找的元素即可。

    arr.includes(searchElement[, fromIndex])

其中,searchElement為需要查找的元素,fromIndex可選,表示從哪個索引開始查找。如果省略則默認從數組開頭查找。

二、ES6 includes方法參數解析

arr.includes(searchElement[, fromIndex])方法中可傳入兩個參數,分別為需要查找的元素和查找的起始索引。

1. searchElement(必填)

表示需要查找的元素,可以是任何類型的數據:字符串、數值、對象或者其他。

如果需要查找的元素不同於數組中的元素,本方法會返回false。

    const arr = [1, 2, 3, 4, 5];
    console.log(arr.includes(0)); //false,不存在元素0

該方法的查找規則比較嚴格,其處理方式與全等(===)相似,不會自動轉換數據類型。因此,如果需要查找的元素與數組元素不是同類型,也會返回false。

    const arr = [1, 2, 3, 4, 5];
    console.log(arr.includes("2")); //false,"2"為字符串類型,不等同於2

2. fromIndex(可選)

表示查找的起始位置,如果不指定該參數,則默認從數組的第一個元素開始查找。該參數為單個有效的整數值。

如果傳入一個不是數字的值,該參數會自動轉換為數字。

“`js
const arr = [1, 2, 3, 4, 5];
console.log(arr.includes(3, “2”)); //true, “2” 默認轉換為數字 2
“`

如果傳入的起始位置參數為負值,則從數組末尾開始計數。例如,-1指的是數組最後一個元素。

    const arr = [1, 2, 3, 4, 5];
    console.log(arr.includes(3, -1)); //false,從數組的最後一個元素開始查找

三、ES6 includes方法返回值

ES6 includes方法返回一個布爾類型的值,表明數組中是否包含被查找的元素。

如果數組中找到了被查找的元素,則返回true,反之則返回false。

    const arr = [1, 2, 3, 4, 5];
    console.log(arr.includes(3)); //true

四、ES6 includes方法與indexOf方法的區別

ES6 includes方法與原有的indexOf方法在功能上有些類似,都是返回一個布爾類型值,判斷一個元素是否存在於數組之中。但它們也存在着顯著的區別。

1、ES6 includes方法比indexOf方法更為簡潔,代碼可讀性更高。

2、ES6 includes方法可以查找NaN元素的位置,且不需要額外的處理。

“`js
const arr = [1, 2, 3, NaN];
console.log(arr.includes(NaN)); //true
“`

使用indexOf方法需要進行額外的判斷。

“`js
const arr = [1, 2, 3, NaN];
console.log(arr.indexOf(NaN) !== -1); //true
“`

3、ES6 includes方法的查找範圍不包含起始位置 等價於arr.indexOf(searchElement, fromIndex) !== -1)。

最後,需要注意ES6 includes方法與indexOf方法,會出現錯誤的情況是,當搜索的值是數組中某個帶有原型屬性的對象時,ES6 includes方法並沒有順着原型鏈進行查找,而indexOf方法則會。

五、ES6 includes方法的應用場景

ES6 includes方法主要用於判斷數組中是否含有某個元素,其在實際開發中很有用,尤其是處理一個數組需要找某個元素時。下面介紹一些更具體的應用場景。

1、判斷一個數組是否包含某些元素

ES6 includes方法可以判斷一個數組是否包含某些元素。我們不需要使用for循環遍曆數組,只需使用 includes方法即可輕鬆實現。

“`js
const arr = [1, 2, 3, 4, 5];
console.log(arr.includes(3)); // true
“`

2、過濾數組中的特定元素

使用ES6 includes方法可以輕鬆過濾掉數組中的某些元素。

“`js
const arr = [1, 2, 3, 4, 5];
const evenArr = arr.filter(num => !arr.includes(num % 2 !== 0));
console.log(evenArr); //[2, 4]
“`

上述代碼中,過濾掉arr中不是偶數的元素,返回僅包含偶數的新數組。

3、驗證用戶的輸入

ES6 includes方法可用於驗證用戶輸入的值是否符合規定的格式,增強前端驗證用戶輸入的表單。

“`html


const userEmail = document.getElementById(“userEmail”);
const submitBtn = document.getElementById(“submitBtn”);
submitBtn.addEventListener(“click”, event => {
event.preventDefault();
if (!userEmail.value.includes(“@”)) {
alert(“請輸入正確的郵箱地址”);
} else {
alert(“表單提交成功”);
//…表單提交後續邏輯
}
});

“`

上述代碼中,使用ES6 includes方法驗證用戶輸入的郵箱地址,如果不符合規則,則提示用戶重新輸入。

六、ES6 includes方法總結

ES6 includes方法是一個實用的數組方法,可以更方便、快捷地判斷一個元素是否在數組中,擴展了JavaScript的數組功能,並且代碼可讀性更高。在實際開發中,可以應用於驗證用戶輸入、過濾數組中的特定元素等場景。

需要注意的是,ES6 includes方法的查找規則與全等(===)相似,不會自動轉換數據類型,所以如果需要查找的元素與數組元素不是同類型,也會返回false。 在處理查找範圍和查找方式上與indexOf方法也有所不同,需要根據具體的業務場景進行選擇。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/280326.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-20 18:55
下一篇 2024-12-21 13:03

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • 運維Python和GO應用實踐指南

    本文將從多個角度詳細闡述運維Python和GO的實際應用,包括監控、管理、自動化、部署、持續集成等方面。 一、監控 運維中的監控是保證系統穩定性的重要手段。Python和GO都有強…

    編程 2025-04-29
  • Python應用程序的全面指南

    Python是一種功能強大而簡單易學的編程語言,適用於多種應用場景。本篇文章將從多個方面介紹Python如何應用於開發應用程序。 一、Web應用程序 目前,基於Python的Web…

    編程 2025-04-29
  • Python wordcloud入門指南

    如何在Python中使用wordcloud庫生成文字雲? 一、安裝和導入wordcloud庫 在使用wordcloud前,需要保證庫已經安裝並導入: !pip install wo…

    編程 2025-04-29
  • ArcGIS更改標註位置為中心的方法

    本篇文章將從多個方面詳細闡述如何在ArcGIS中更改標註位置為中心。讓我們一步步來看。 一、禁止標註智能調整 在ArcMap中設置標註智能調整可以自動將標註位置調整到最佳顯示位置。…

    編程 2025-04-29
  • 解決.net 6.0運行閃退的方法

    如果你正在使用.net 6.0開發應用程序,可能會遇到程序閃退的情況。這篇文章將從多個方面為你解決這個問題。 一、代碼問題 代碼問題是導致.net 6.0程序閃退的主要原因之一。首…

    編程 2025-04-29
  • Python字符轉列表指南

    Python是一個極為流行的腳本語言,在數據處理、數據分析、人工智能等領域廣泛應用。在很多場景下需要將字符串轉換為列表,以便於操作和處理,本篇文章將從多個方面對Python字符轉列…

    編程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一個類的構造函數,在創建對象時被調用。在本篇文章中,我們將從多個方面詳細討論init方法的作用,使用方法以及注意點。 一、定義init方法 在Pyth…

    編程 2025-04-29
  • Python創建分配內存的方法

    在python中,我們常常需要創建並分配內存來存儲數據。不同的類型和數據結構可能需要不同的方法來分配內存。本文將從多個方面介紹Python創建分配內存的方法,包括列表、元組、字典、…

    編程 2025-04-29
  • Python小波分解入門指南

    本文將介紹Python小波分解的概念、基本原理和實現方法,幫助初學者掌握相關技能。 一、小波變換概述 小波分解是一種廣泛應用於數字信號處理和圖像處理的方法,可以將信號分解成多個具有…

    編程 2025-04-29

發表回復

登錄後才能評論