首頁 >web前端 >前端問答 >es6怎麼判斷是否在陣列裡

es6怎麼判斷是否在陣列裡

青灯夜游
青灯夜游原創
2023-01-16 17:35:233246瀏覽

判斷方法:1、使用includes()函數,可判斷數組是否包含一個指定的值,語法“arr.includes(值)”,如果返回true則存在;2、使用find()函數,可查找符合新增的第一個元素,語法「arr.find(function(v){if(v==值{...}})」;3、使用some()函數,語法「arr.some (i=>i===值)”,如果回傳true則存在。

es6怎麼判斷是否在陣列裡

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

es6判斷指定值是否在陣列裡的方法

在es6中,可以利用includes()、find() 、some()方法來判斷元素是否在陣列中。

方法1:使用includes()方法

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

array.includes(searchElement, fromIndex);
  • searchElement:要尋找的元素;

  • ##fromIndex:開始尋找的索引位置。

範例:

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

es6怎麼判斷是否在陣列裡

#可以看到,傳回值為true,則表示元素

5在陣列中。

方法2:使用find()方法

find() 方法傳回通過測試(函數內判​​斷)的陣列的第一個元素的值。

find() 方法為數組中的每個元素都呼叫一次函數執行:

  • 當數組中的元素在測試條件時傳回true 時, find() 傳回符合條件的元素,之後的值不會再呼叫執行函數。

  • #如果沒有符合條件的元素回傳undefined

範例:

var arr = [1,2,3,4,5]
arr.find(function(value){
	if(value==5){
		console.log("指定元素在数组中");
	}
})

es6怎麼判斷是否在陣列裡

方法3:使用some()方法

some() 方法用來偵測陣列中是否存在符合指定條件的元素,存在就回傳true,不存在就回傳false。

arr = [1,2,3,4,5];
let istrue= arr.some(item => item === 45);
console.log(istrue);

es6怎麼判斷是否在陣列裡

可以看到,傳回值為false,則表示元素不在陣列中。

擴充知識:es5判斷指定值是否在陣列裡的方法

在es5中,可以利用indexOf()和lastIndexOf()函數來判斷元素是否在陣列中。

indexOf() 和 lastIndexOf() 方法可以檢索陣列元素,傳回指定元素的索引位置;如果指定元素不存在,則傳回「

-1」。

1、使用indexOf() 在陣列中尋找元素

#indexOf() 傳回某個元素值在陣列中的第1 個符合項目的索引,如果沒有找到指定的值,則傳回-1。用法如下:

array.indexOf(item,start)

  • item    必須。尋找的元素。   

  • start    可選的整數參數。規定在陣列中開始檢索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略該參數,則將從字串的首字開始檢索。   

indexOf() 方法是按升序索引執行搜索,即從左到右進行檢索。檢索時,會讓數組元素與 searchElement參數值進行全等比較===。

範例:尋找元素是否在陣列中

var arr = ["ab","cd","ef","ab","cd"];
var str="cd";
if(arr.indexOf(str)===-1){
	console.log("指定元素:"+str+" 不在数组中");
}else{
	console.log("指定元素: "+str+" 在数组中");
}

es6怎麼判斷是否在陣列裡

#修改一下需要尋找的值:

var str="gh";
if(arr.indexOf(str)===-1){
	console.log("指定元素:"+str+" 不在数组中");
}else{
	console.log("指定元素: "+str+" 在数组中");
}

es6怎麼判斷是否在陣列裡

es6怎麼判斷是否在陣列裡

2、使用lastIndexOf() 在陣列中尋找元素

#indexOf() 傳回某個元素值在陣列中的最後1 個符合項的索引,如果找不到指定的值,則傳回-1。其用法與 indexOf() 相同。 ######範例:尋找元素是否在陣列中###
var arr = ["ab","cd","ef","ab","cd"];
var str="gx";
if(arr.lastIndexOf(str)===-1){
	console.log("指定元素:"+str+" 不在数组中");
}else{
	console.log("指定元素: "+str+" 在数组中");
}
#############【相關推薦:###javascript學習教學######】### ###

以上是es6怎麼判斷是否在陣列裡的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn