定义一个数组,接下来操作的数组都以这个为例
const arr = [3, 10, 18, 20];
join
数组转字符串
arr.join(',');
// 输出:3,10,18,20
reverse
数组倒序
arr.reverse();
// 输出:arr = [20, 18, 10, 3]
concat
用于连接两个或多个数组(返回新数组)
arr1 = [1, 2];
arr2 = [3, 4];
const result = arr.concat(arr1, arr2);
// 输出:result = [3, 10, 18, 20, 1, 2, 3, 4]
forEach
遍历数组中的每一项,跟 for 循环的作用是一样的
arr.forEach(item => {
console.log(item);
});
// 依次输出:3、10、18、20
some
依次遍历数组中的元素,若有满足条件的则返回 true,剩余的不会执行。若无满足条件的则返回 false
const result = arr.some(item => {
return item >= 18;
});
// 输出:result = true
map
返回一个新的数组,数组中的元素为原始数组元素调用函数处理后的值。
const result = arr.map(item => {
return item * 2;
});
// 输出:result = [6, 20, 36, 40]
filter
返回一个新的数组,筛选出符合条件的所有元素。
const result = arr.filter(item => {
return item >= 18;
});
// 输出:result = [18, 20]
reduce
接收一个函数作为累加器,可用作求和
参数 | 描述 |
---|---|
total | 必需,初始值,或者计算结束后的返回值。 |
current | 必需,当前元素 |
index | 可选:索引 |
const result = arr.reduce((total, item) => {
return total + item;
});
// 输出:result = 51
sort
对数组的元素进行排序(对原数组进行排序)
/* 默认按字母顺序排序,也可自定义排序规则 */
arr.sort((a, b) => {
return a - b;
});
// 输出:arr = [3, 10, 18, 20]
slice 和 splice
< 1 > slice
返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素
参数 | 描述 |
---|---|
start | 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。 |
end | 可选。规定从何处结束选取。如果没有指定该参数,那么切分从 start 到数组结束的所有元素。 |
const result = arr.slice(1, 3);
// 输出:result = [10, 18]
< 2 > splice
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
参数 | 描述 |
---|---|
index | 必需。数组的索引,规定从何处开始删除 |
num | 必需。删除的数量,若为0,则不会删除 |
item1, …, itemX | 可选,向数组中添加新的元素 |
/* 注意:该方法是改变原来的数组, 返回的是被删除元素的集合 */
const result = arr.splice(1, 2);
// 输出:arr = [3, 20],result = [10, 18]
push 和 pop
< 1 > push
该方法用于向数组末尾添加一个或者多个元素,并返回新的长度
const result = arr.push(1, 2);
// 输出:arr = [3, 10, 18, 20, 1, 2],result = 6
< 2 > pop
该方法用于删除并返回数组的最后一个元素
const result = arr.pop();
// 输出:arr = [3, 10, 18],result = 20
shift 和 unshift
< 1 > shift
该方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
const result = arr.shift();
// 输出:arr = [10, 18, 20],result = 3
< 2 > unshift
该方法可向数组的开头添加一个或更多元素,并返回新的长度。
const result = arr.unshift(1, 2);
// 输出:arr = [1, 2, 3, 10, 18, 20],result = 6