ES6陣列小技巧

2022-04-18 04:03:17 字數 2882 閱讀 5747

// 交換變數

[a, b] = [b, a]

[o.a, o.b] = [o.b, o.a]

// 生成剩餘陣列

const [a, ...rest] = [...'asdf'] // a:'a',rest: ["s", "d", "f"]

const arr = [1, 2, 3]

const arrclone = [...arr]

// 物件也可以這樣淺拷貝

const obj =

const objclone =

淺拷貝:拷貝的值改變時原來的值跟著一起改變。

深拷貝:拷貝的值可以無限層拷貝,拷貝值與原始值不發生任何影響

淺拷貝方法有很多如arr.slice(0, arr.length)/arror.from(arr)等,但是用了...操作符之後就不會再想用其他的了~

const arr1 = [1, 2, 3]

const arr2 = [4, 5, 6]

const arr3 = [7, 8, 9]

const arr = [...arr1, ...arr2, ...arr3]

arr1.concat(arr2, arr3)同樣可以實現合併,但是用了...操作符之後就不會再想用其他的了~

const arr = [1, 1, 2, 2, 3, 4, 5, 5]

const newarr = [...new set(arr)]

new set(arr)接受乙個陣列引數並生成乙個set結構的資料型別。set資料型別的元素不會重複且是array iterator,所以可以利用這個特性來去重。

const a = [0, 1, 2, 3, 4, 5]

const b = [3, 4, 5, 6, 7, 8]

const duplicatedvalues = [...new set(a)].filter(item => b.includes(item)) //includes判斷陣列裡有無此value,返回布林值

duplicatedvalues // [3, 4, 5]

const a = [0, 1, 2, 3, 4, 5]

const b = [3, 4, 5, 6, 7, 8]

const diffvalues = [...new set([...a, ...b])].filter(item => !b.includes(item) || !a.includes(item)) // [0, 1, 2, 6, 7, 8]

const arr = [1, 2, 3, 4]

const newobj = //

const obj = 

const flatarr = object.values(obj); //["群主", "男群友", "女裙友", "未知性別"]

const obj = 

const getname = function (item)

// 方法1

const flatarr = object.values(obj).flat().filter(item => getname(item))

// 經大佬指點,更加簡化(發現自己的抽象能力真的差~)

const flatarr = object.values(obj).flat().filter(getname)

複製**

二維陣列用array.flat(),三維及以上用array.flatmap()

const arr = [1, 2, 3, 4, 5]

const finditem = arr.find(item => item === 3) // 返回子項

const findindex = arr.findindex(item => item === 3) // 返回子項的下標

// 我以後再也不想看見下面這樣的**了

ES6 陣列新增

window.onload function 作用 把類陣列 獲取一組陣列元素,arguments.物件轉成陣列 具備length這個東西,就靠譜 let arr 1,2,4 let arr2 array.from arr let json let arr array.from json 作用 把一...

ES6 陣列操作

1 push 尾端插入,返回陣列長度let arr 1,hello true console.log arr.push 22 4 console.log arr,arr 1,hello true,22 console.log arr.push false,123 6 console.log arr,...

es6 陣列拓展

陣列 屬性 constructor,length,prototype 方法 push,pop,shift,unshift 新增 splice,slice,reverse,sort,concat,filter,map,some,every 1 filter 過濾出符合條件的值,返回新陣列 var sp...