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

es6怎麼查找某項是否存在

青灯夜游
青灯夜游原創
2023-01-03 15:24:512309瀏覽

方法: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