操作数组最后一项
push()
添加元素到一个数组的末尾
var arr = [1, 2, 3];
arr.push(4, 5);
console.log(arr); // [1, 2, 3, 4, 5]
pop()
删除数组最后一项
var arr = [1, 2, 3];
arr.pop();
console.log(arr); // [1, 2]
操作数组第一项
shift()
删除数组第一项
var arr = [1, 2, 3];
arr.shift()
console.log(arr); // [ 2, 3 ]
unshift()
添加元素到数组的开头
var arr = [1, 2, 3];
arr.unshift(0)
console.log(arr); // [ 0, 1, 2, 3 ]
forEach()
循环遍历数组
var arr = [1, 2, 3];
var result = []
arr.forEach(item => {
item = item + 1;
result.push(item);
})
console.log(result); // [2, 3, 4]
filter()
过滤,循环遍历数组中每一项执行给定函数,返回满足过滤条件的元素组成的数组
var arr = [1, 2, 3, 4, 5];
var result = arr.filter(item => {
return item > 3;
})
console.log(result); // [4, 5]
every()
判断数组中每一项是否都满足条件,都满足返回true,有一项不满足则返回false
var arr = [1, 2, 3, 4, 5];
var result = arr.every((item) => {
return item < 6;
})
console.log(result); // true
var arr = [1, 2, 3, 4, 5];
var result = arr.every((item) => {
return item < 3
})
console.log(result); // false
some()
判断数组中是否存在满足条件的项,只要有一项满足条件则返回true,都不满足则返回false
var arr = [1, 2, 3, 4, 5];
var result = arr.some((item) => {
return item < 3;
})
console.log(result); // true
var arr = [1, 2, 3, 4, 5];
var result = arr.some((item) => {
return item >6;
})
console.log(result); // false
map()
给数组中每一项都执行给定的函数,返回结果组成的新数组
var arr = [1, 2, 3, 4, 5];
var result = arr.map((item) => {
return item * 2;
})
console.log(result); // [ 2, 4, 6, 8, 10 ]
join()
将数组的所有元素拼接为字符串
var arr = [2019, 9, 23];
var result = arr.join('-')
console.log(result); // 2019-9-23
reverse()
反转数组
var arr = [1, 2, 3];
arr.reverse();
console.log(arr); // [ 3, 2, 1 ]
slice()
截取,返回由从原数组中截取的指定项组成的新数组,参数是开始下标和结束下标
var arr = [9, 8, 7, 6, 5];
var result = arr.slice(2, 3);
console.log(result); // [ 7 ]
splice()
- 删除:删除任意数量项,参数为要删除的第一项下标和总共要删除的个数
var arr = [1, 2, 3, 4, 5]; arr.splice(1, 2); console.log(arr); // [ 1, 4, 5 ]
- 插入:向指定位置插入任意数量的元素,参数分别为起始位置、0(要删除的个数,插入操作不需要删除所以为0)、要插入的元素
var arr = [1, 2, 3, 4, 5]; arr.splice(1, 0, 2, 2, 2); console.log(arr); // [ 1, 2, 2, 2, 2, 3, 4, 5 ]
- 替换:替换任意位置的元素,参数分别为起始位置、要替换的个数、替换的新元素
var arr = [1, 2, 3, 4, 5]; arr.splice(1, 3, 2, 2, 2); console.log(arr); // [ 1, 2, 2, 2, 5 ]
sort()
升序或降序重新排列数组
function compare(value1, value2) {
if (value1 < value2) {
return -1;
} else if (value1 > value2) {
return 1;
} else {
return 0;
}
}
var arr = [13, 24, 51, 3];
var result = arr.sort(compare);
console.log(result); // [3, 13, 24, 51]
降序改变
return
的返回值即可
indexOf()
查找数组中某项的索引,找不到则返回-1
var arr = [1, 2, 3, 4, 5];
var result = arr.indexOf(1);
console.log(result); // 0