JS陣列常用操作 包含ES6語法

2021-10-24 22:23:55 字數 4116 閱讀 4322

基礎api

let arr = 

// push 加入陣列尾部 返回長度

arr.push('a') 

// pop 從陣列尾部移除

arr.pop()

// unshift 追加到陣列頭部  返回長度

arr.unshift('b')

// shift 從陣列頭部移除

arr.shift()

陣列操作中間位置的元素

let arr = [1,2,3,4].fill('空指標',1,4)

// 執行結果 [1, "空指標", "空指標", "空指標"]

console.log(arr)

let arr = ['a','b','c','d']

// 執行結果 ["b", "c"]

console.log(arr.slice(1,3))

let arr = ['a','b','c','d']

let tmp = arr.splice(1,1)

// 執行結果已刪除 ["b"]  原的陣列 ["a", "c", "d"]

console.log(tmp,arr)

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

let tmp = arr.splice(1,2,'a')

// 執行結果 [2, 3]  [1, "a", 4]

console.log(tmp,arr)

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

let tmp = arr.splice(2,0,'a')

// 執行結果 [1, 2, "a", 3, 4]

console.log(tmp,arr)

let tmp = 'a,b,c,d'.split(',')

// 執行結果 ["a", "b", "c", "d"]

console.log(tmp)

let str = ['a','b','c'].join('-')

// 執行結果  "a-b-c"

console.log(str)

let arr1 = ['a','b']

let arr2 = ['c','d']

let arr3 = [...arr1,...arr2]

let arr1 = ['a','b']

let arr2 = ['c','d']

arr1.push(...arr2)

let arr1 = ['a','b']

let arr2 = ['c','d']

arr1 = arr1.concat(arr2)

let arr = ['a','b','c','d','e']

console.log(arr.copywithin(3,1,3))

陣列查詢

let arr = ['a','b','c','d','e']

// 執行結果 c

console.log(arr.indexof('c'))

let arr = ['a','b','c','d','e']

// 執行結果 true

console.log(arr.includes('c'))

let arr = [,]

let res = arr.find((item)=>)

// 執行結果 

console.log(res)

let arr = [,]

let res = arr.findindex((item)=>)

// 執行結果 0

console.log(res)

let arr = [,]

let res = arr.map((v) => v.name)

// 執行結果 ["小白", "小黑"]

console.log(res)

排序

let order = [

,  ,  ]

order = order.sort((a,b)=>)

console.table(order)

迴圈

let arr = ['a','b','c']

// of 返回值 底層是用迭代器 iterator

for(let v of arr)

// 執行結果  

> "a"  

> "b"  

> "c"

let arr = ['a','b','c']

for(let v in arr)

// 執行結果 

> "0"  

> "1"  

> "2"

let arr = ['a','b','c']

arr.foreach((item,index) => )

// 執行結果 

> 0 "a"

> 1 "b"

> 2 "c"

let arr = ['a','b','c']

let values = arr.values()

while(( = values.next() )&& done === false)

// 執行結果

> "a"

> "b"

> "c"

let arr = ['a','b','c']

let keys = arr.keys()

while(( = keys.next() )&& done === false)

// 執行結果

> 0

> 1

> 2

判斷

let user = [,,]

// every 用於判斷陣列元素是否全部符合條件

let res = user.every(function(item) )

// 執行結果 true

console.log(res)

let user = [,,]

// some 用於判斷陣列元素是否全部符合條件

let res = user.some((item)=>)

// 執行結果 true

console.log(res)

let arr = ['a','b','b','d']

let newarr = arr.filter((item)=>)

// 執行結果  ["a", "d"]

console.log(newarr)

function filter(array,callback)    

}return newarray

}let arr = ['a','b','c','a','d','a']

let tmp = filter(arr,(item)=>)

// 執行結果 ["b", "c", "d"]

console.log(tmp)

let arr = ['a','b','c','a','a']

// 使用reduce 統計某字元出現的字數

let res = arr.reduce((total,cur)=>,0)

// 執行結果 3

console.log(res)

let order = [

,  ,  ]

// 計算訂單總數

let sum = order.reduce(((total,cur)=>),0)

// 執行結果 19000

console.log(sum)

js,新增ES6 語法

一,生名變數 1.let 可以更加規範的編寫 具有全域性性 let a 100let b 200function fun fun 2.const 定義後的變數,將會無法更改 const a 100 console.log a 100 a 200 console.log a 跑錯 二,賦值1,傳統賦值...

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語法總結

一.let var,const var沒有塊級作用域,定義後在當前閉包中都可以訪問,如果變數名重複,就會覆蓋前面定義的變數,並且也有可能被其他人更改。for var i 0 i 3 i 0 結果會列印3次3,原因是var 沒有塊級作用域,而let有自己的塊級作用域,所以不會出現這種情況。使用 let...