首頁 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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

ES6怎麼求數組反轉 ES6怎麼求數組反轉 Oct 26, 2022 pm 06:19 PM

在ES6中,可以利用數組物件的reverse()方法來實現數組反轉,該方法用於顛倒數組中元素的順序,將最後一個元素放在第一位,而第一個元素放在最後,語法「array.reverse()」。 reverse()方法會修改原始數組,如果不想修改需要配合擴充運算子「...」使用,語法「[...array].reverse()」。

es6怎麼找出2個數組中不同項 es6怎麼找出2個數組中不同項 Nov 01, 2022 pm 06:07 PM

步驟:1、將兩個陣列分別轉換為set類型,語法「newA=new Set(a);newB=new Set(b);」;2、利用has()和filter()求差集,語法“ new Set([...newA].filter(x =>!newB.has(x)))”,差集元素會被包含在一個set集合中返回;3、利用Array.from將集合轉為數組類型,語法“Array.from(集合)”。

es6怎麼刪除陣列中的元素 es6怎麼刪除陣列中的元素 May 19, 2022 pm 07:17 PM

刪除方法:1、用shift()刪除第一個元素,語法「arr.shift()」;2、用pop()刪除最後一個元素,語法「arr.pop()」;3、用splice()根據下標刪除任意元素,語法「arr.splice(開始下標,刪除元素個數)」。

es6數組怎麼刪除第一個元素 es6數組怎麼刪除第一個元素 May 19, 2022 pm 06:35 PM

3種刪除方法:1、用shift(),語法「陣列物件.shift()」。 2.用splice()刪除起始下標示為0的一個元素,語法「陣列物件.splice(0,1)」。 3.用delete刪除索引為0的陣列元素,語法「delete 陣列名[0]」。

數組some和every是es6方法嗎 數組some和every是es6方法嗎 May 19, 2022 pm 05:40 PM

some和every是es6方法。 some()和every()是es6 Array物件新增的方法,some()用來偵測陣列中是否存在符合條件的元素,只要有一個符合就會傳回true;而every()用來偵測陣列的所有元素是否都符合指定的條件。

es6數組怎麼轉換成字串 es6數組怎麼轉換成字串 Oct 18, 2022 pm 02:48 PM

3種轉換方法:1、使用join()函數把陣列中的所有元素放入字串,語法「陣列物件.join(分隔符號)」;2、使用toString()函數,語法「陣列物件.toString ()」或「陣列物件.toString().replace(/,/gi,'分隔符號')」;3、使用toLocaleString()函數,語法「陣列物件.toLocaleString()」。

es6怎麼將類別數組物件轉數組 es6怎麼將類別數組物件轉數組 Jan 03, 2023 pm 02:33 PM

轉換方法:1、使用「for in」語句將類別數組物件轉換為數組,語法「for(var i in obj){console.log(arr.push(obj[i]));}」;2、使用內建物件keys和valus,語法「Object.keys(obj)」和「Object.values(obj)」;3、使用Array物件的from()函數,語法「Array.from(obj)」。

ES6裡兩個陣列怎麼求和 ES6裡兩個陣列怎麼求和 May 19, 2022 pm 06:14 PM

求和方法:1、用concat()合併兩個數組,語法“數組1.concat(數組2)”,會將數組2的元素添加到數組1的尾部;2、用reduce()計算合併數組的和,語法「數組.reduce(function(p,c){sum=p+c;})」。

See all articles