檢測數組
Array.isArray([])
Array.isArray({})
Array.isArray('') 複製代碼
經常使用方法
push() 方法能夠接收任意數量的參數,並將它們逐個添加到數組末尾
pop() 方法從數組末尾移除最後一項
unshift() 方法能夠在數組前端添加任意數量的參數
shift() 方法可以移除數組中的第一項
reverse() 方法會反轉數組的順序
sort() 方法在默認狀況下按升序排列數組項
splice() 方法可對數組進行 刪除 插入 替換
slice() 方法可以基於當前數組中的一或多個項建立一個新的數組
join() 方法將數組中全部元素轉換成字符串並鏈接在一塊兒
indexOf() 方法在整個數組中搜索指定的元素
concat() 方法能夠基於當前數組中的全部項建立一個新的數組複製代碼
迭代方法
every() 若是該函數對每一項都返回true,則返回true
filter() 返回該函數會返回true的項組成的數組
forEach() 這個方法沒有返回值
map() 返回每次函數調用的結果組成的數組
some() 若是改函數的任一項返回true,則返回true複製代碼
歸併方法
reduce() reduceRight() 主要取決於從哪頭開始遍歷,除此以外,他們徹底相同。
複製代碼
1. 數組排序
function compare(val1, val2) {
if(val1 < val2) {
return -1
}else if(val1 > val2) {
return 1
}else {
return 0
}
}
var values = [1, 3, 2, 6, 5]
values.sort(compare)
console.log(values)
function compare(val1, val2) {
if(val1 < val2) {
return 1
}else if(val1 > val2) {
return -1
}else {
return 0
}
}
var values = [1, 3, 2, 6, 5]
values.sort(compare)
console.log(values)
function compare(val1, val2) {
return val1 - val2
}
function compare(val1, val2) {
return val2 - val1
}
複製代碼
2. 數組去重
var values = [...new Set([6, 5, 3, 5, 7, '8', 8, 6])]
console.log(values) 複製代碼
3. 獲取數組最大值
var values = [3, 1, 5, 8, 6]
var maxVal = Math.max(...values)
console.log(maxVal) 複製代碼
4. 讓一個數組亂序
var values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
values.sort(function() {
return Math.random() - 0.5
})
console.log(values)複製代碼
5. 拷貝數組
var values = [1, 2, 3, 4, 5]
var copyValues = values.slice(0)
var values = [1, 2, 3, 4, 5]
var copyValues = values.concat()複製代碼