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(值)」。
本教學操作環境: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("给定元素是不存在的"); }
方法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("给定元素是不存在的"); }
#方法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("给定元素是不存在的"); }
輸出結果為:
方法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("给定元素是不存在的"); }
输出结果为:
【相关推荐:javascript视频教程、编程视频】
以上是es6怎麼查找某項是否存在的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

熱門話題

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

步驟: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(集合)”。

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

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

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

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

轉換方法: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)」。

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