检测数组
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()复制代码