搜尋
首頁web前端前端問答es6怎麼查找某項是否存在

es6怎麼查找某項是否存在

Jan 03, 2023 pm 03:24 PM
es6數組

方法:1、用find();2、用includes(),語法「陣列.includes(值)」;3、用some(),語法「function f(v) {if (v ===值) {return true;}}var b= 陣列.some(f);」;4、用indexOf(),語法「陣列.indexOf(值)」;5、用lastIndexOf(),語法「陣列.lastIndexOf(值)」。

es6怎麼查找某項是否存在

本教學操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。

方法1:利用陣列的find() 方法

#find()方法來找出陣列中符合條件的第一個元素,如果沒有符合條件的元素,則傳回undefined

find() 對於空數組,函數是不會執行的。

find() 並沒有改變陣列的原始值。

array.find(function(currentValue, index, arr),thisValue)
參數 描述
#function(currentValue, index,arr) 必要。數組每個元素需要執行的函數。
函數參數:參數描述currentValue必要。當前元素index可選。目前元素的索引值arr可選。目前元素所屬的陣列物件
thisValue #可選。傳遞給函數的值一般用 "this" 值。
如果這個參數為空, "undefined" 會傳遞給"this" 值

#傳回值:

  • 傳回符合測試條件的第一個陣列元素值,如果沒有符合條件的則回傳 undefined。

範例:判斷fruits陣列中是否包含給定元素「榴槤」

function f(value) {
        return value === '橘子';
}
	
var fruits = ['苹果',"香蕉", '榴莲', '橘子', '菠萝蜜',"梨子"];

if(fruits.find(f)!=undefined){
	console.log("给定元素是存在的");
}else{
	console.log("给定元素是不存在的");
}

es6怎麼查找某項是否存在

方法2 :利用陣列的includes() 方法

 includes() 方法用來判斷一個陣列是否包含一個指定的值,如果是傳回true,否則false。

arr.includes(searchElement [, fromIndex])
  • searchElement 必須。需要尋找的元素值。

  • fromIndex 可選。從該索引處開始尋找 searchElement。如果為負值,則按升序從 array.length fromIndex 的索引開始搜尋。預設為 0。

範例:判斷fruits陣列中是否包含給定元素「榴槤」

var fruits = ['苹果',"香蕉", '榴莲', '橘子', '菠萝蜜',"梨子"];
if(fruits.includes('榴莲')){
	console.log("给定元素是存在的");
}else{
	console.log("给定元素是不存在的");
}

es6怎麼查找某項是否存在

#方法3:利用陣列的some()方法

#    some()方法可以偵測陣列中是否有符合條件的元素。換個角度思考,也可以用來偵測數組中的所有元素是否都不符合指定條件,都不符合的話就回傳 false,有一個或多個符合的話就回傳 true。

array.every(function callbackfn(Value,index,array),thisValue)
參數 描述
#function(currentValue, index,arr) 必須。函數,數組中的每個元素都會執行這個函數
函數參數:
參數描述currentValue必須。當前元素的值index可選。目前元素的索引值arr可選。目前元素屬於的陣列物件
thisValue #可選。物件作為該執行回呼時使用,傳遞給函數,用作 "this" 的值。
如果省略了 thisValue ,"this" 的值為 "undefined"

#傳回值:布林值。如果數組中有元素滿足條件回傳 true,否則傳回 false。

範例:

function f(value, index, ar) {
    if (value === '橘子') {
        return true;
    }
}
var fruits = ['苹果',"香蕉", '榴莲', '橘子', '菠萝蜜',"梨子"];
var b = fruits.some(f);
if (b) {
   console.log("给定元素是存在的");
} else {
   console.log("给定元素是不存在的");
}

輸出結果為:

es6怎麼查找某項是否存在

方法4:利用陣列的indexOf()方法

indexOf() 方法可傳回陣列中某個指定元素的第一次出現位置。如果要檢索的元素沒有出現,則該方法傳回 -1。

array.indexOf(item,start)
參數 描述
item 必須。尋找的元素。
start 可選的整數參數。規定在陣列中開始檢索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略該參數,則將從字串的首字開始檢索。

实现思想:利用该方法检查指定值在数组的第一次出现位置,如果位置是存在的,则包含该给定元素。如果返回-1,则不包含该给定元素。

下面给出实现代码:

var fruits = ['苹果',"香蕉", '榴莲', '橘子', '菠萝蜜',"梨子"];
var b = fruits.indexOf("桃子");
if (b>0) {
   console.log("给定元素是存在的");
} else {
   console.log("给定元素是不存在的");
}

方法5:利用数组的lastIndexOf()方法

lastIndexOf()方法可搜索数组中的元素,并返回它最后出现的位置。如果要检索的元素没有出现,则该方法返回 -1。

array.lastIndexOf(item,start)
参数 描述
item 必需。规定需检索的字符串值。
start 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索。

实现思想:利用该方法检查指定值在数组的最后出现位置,如果位置是存在的,则包含该给定元素;如果返回-1,则不包含该给定元素。

下面给出实现代码::

var fruits = ['苹果',"香蕉", '榴莲', '橘子', '菠萝蜜',"梨子"];
var b = fruits.lastIndexOf("葡萄");
if (b>0) {
   console.log("给定元素是存在的");
} else {
   console.log("给定元素是不存在的");
}

输出结果为:

es6怎麼查找某項是否存在

【相关推荐:javascript视频教程编程视频

以上是es6怎麼查找某項是否存在的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
了解usestate():綜合反應國家管理指南了解usestate():綜合反應國家管理指南Apr 25, 2025 am 12:21 AM

useState()isaReacthookusedtomanagestateinfunctionalcomponents.1)Itinitializesandupdatesstate,2)shouldbecalledatthetoplevelofcomponents,3)canleadto'stalestate'ifnotusedcorrectly,and4)performancecanbeoptimizedusinguseCallbackandproperstateupdates.

使用React的優點是什麼?使用React的優點是什麼?Apr 25, 2025 am 12:16 AM

ReactispupularduetoItsOmpontement,基於虛擬,虛擬詞,Richecosystem和declarativedation.1)基於組件的harchitectureallowslowsforreusableuipieces。

在React中調試:識別和解決共同問題在React中調試:識別和解決共同問題Apr 25, 2025 am 12:09 AM

todebugreactapplicationsefectefectionfection,usethestertate:1)proppropdrillingwithcontextapiorredux.2)使用babortControllerToptopRollerTopRollerTopRollerTopRollerTopRollerTopRollerTopRollerTopRollerTopRollerTopRaceeDitions.3)intleleassynChronOusOperations.3)

反應中的usestate()是什麼?反應中的usestate()是什麼?Apr 25, 2025 am 12:08 AM

usestate()inrectallowsStateMagementionInfunctionalComponents.1)ITSIMPLIFIESSTATEMAGEMENT,MACHECODEMORECONCONCISE.2)usetheprevcountfunctionToupdateStateBasedonitspReviousViousViousvalue,deveingingStaleStateissues.3)

usestate()與用戶ducer():為您的狀態需求選擇正確的掛鉤usestate()與用戶ducer():為您的狀態需求選擇正確的掛鉤Apr 24, 2025 pm 05:13 PM

selectUsestate()forsimple,獨立的variables; useusereducer()forcomplexstateLogicorWhenStatedIppedsonPreviousState.1)usestate()isidealForsImpleupDatesLikeToggGlikGlingaBglingAboolAboolAupDatingacount.2

使用usestate()管理狀態:實用教程使用usestate()管理狀態:實用教程Apr 24, 2025 pm 05:05 PM

useState優於類組件和其它狀態管理方案,因為它簡化了狀態管理,使代碼更清晰、更易讀,並與React的聲明性本質一致。 1)useState允許在函數組件中直接聲明狀態變量,2)它通過鉤子機制在重新渲染間記住狀態,3)使用useState可以利用React的優化如備忘錄化,提升性能,4)但需注意只能在組件頂層或自定義鉤子中調用,避免在循環、條件或嵌套函數中使用。

何時使用usestate()以及何時考慮替代狀態管理解決方案何時使用usestate()以及何時考慮替代狀態管理解決方案Apr 24, 2025 pm 04:49 PM

useUsestate()forlocalComponentStateMangementighatighation; 1)usestate()isidealforsimple,localforsimple.2)useglobalstate.2)useglobalstateSolutionsLikErcontExtforsharedState.3)

React的可重複使用的組件:增強代碼可維護性和效率React的可重複使用的組件:增強代碼可維護性和效率Apr 24, 2025 pm 04:45 PM

ReusableComponentsInrectenHanceCodainainability and效率byallowingDevelostEsteSeTheseTheseThesAmeCompOntionActActRossDifferentPartSofanApplicationorprojects.1)heSredunceRedUndenceNandSimplifyUpdates.2)yensureconsistencyInuserexperience.3)

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具