es6中可用every()和some()來比較,語法「s1.length===s2.length&&s1.every(a=>s2.some(b=>a=== b))&&s2.every(_b=>s1.some(_a=>_a===_b))」。
本教學操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。
es6比較2個陣列的值是否相等(不管陣列順序如何)
實作程式碼:(將兩個陣列換成你本身的陣列)
let listA = val;//当前选中 let listB = this.plainOptions;//数据 let result = listA.length === listB.length && listA.every(a => listB.some(b => a === b)) && listB.every(_b => listA.some(_a => _a === _b));
使用方法api:
##1、every
every() 方法用於偵測陣列所有元素是否都符合指定條件(透過函數提供)。 every() 方法使用指定函數來偵測數組中的所有元素:如果數組中偵測到有一個元素不滿足,則整個表達式傳回false ,且剩餘的元素不會再進行檢測。 如果所有元素都符合條件,則傳回 true。 注意: every() 不會對空數組進行偵測,every() 不會改變原始陣列。 語法:array.every(function(currentValue,index,arr), thisValue)參數說明:
#2、some:##some () 方法用於偵測陣列中的元素是否符合指定條件(函數提供)。
some() 方法會依序執行陣列的每個元素:
如果有一個元素滿足條件,則表達式傳回true , 剩餘的元素不會再執行偵測。
如果沒有滿足條件的元素,則傳回false。
注意: some() 不會對空數組進行偵測,some() 不會改變原始數組。
語法:
array.some(function(currentValue,index,arr),thisValue)
參數說明:
#【相關推薦:
javascript影片教學、 web前端】
以上是es6怎麼比較2個陣列的值是否相等的詳細內容。更多資訊請關注PHP中文網其他相關文章!