Javascript — 数组常用方法

定义一个数组,接下来操作的数组都以这个为例

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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值