基礎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...