JS数组常用API使用说明(19个,详细)

JS数组常用方法19个

1.push()

功能:在数组末尾添加一个或多个元素
参数:添加的元素序列
返回值:返回的是原数组增加元素后的长度
特点 会改变原数组

var ary = [1, 3, 5, 3];
ary.push(7, 9);
console.log(ary);//[1, 3, 5, 3, 7, 9]

2.unshift()

用法基本与push()一样,只是在数组前面添加元素

var ary = [1, 3, 5, 3];
ary.unshift(0, -1);
console.log(ary);//[0, -1, 1, 3, 5, 3]

3.pop()

功能:在数组末尾删除一个元素
参数:无参数
返回值:返回的是删除的那个元素
特点 会改变原数组

var ary = [1, 3, 5, 3];
ary.pop();
console.log(ary);// [1, 3, 5]

4.shift()

用法基本与pop()一样,只是在数组前面删除元素

var ary = [1, 3, 5, 3];
ary.shift();
console.log(ary);// [3, 5, 3]

5.splice()

删除 添加 替换
功能:在数组末尾删除一个元素
参数:第一个参数表示从什么位置开始 第二个参数表示删除的元素个数 当第二个参数为0 可以表示添加元素
从第三个参数开始 都是添加的元素
返回值:返回的是删除的元素组成的数组
特点 会改变原数组

var ary = [1, 3, 5, 3];
ary.splice(1, 2);//从序号为1开始删除2个元素长度
console.log(ary);//[1, 3]
var ary = [1, 3, 5, 3];
ary.splice(1, 0, 4); //从序号为1开始 增加4这个元素
console.log(ary);//[1, 4, 3, 5, 3]
var ary = [1, 3, 5, 3];
ary.splice(1, 2, 4, 6);
console.log(ary);// [1, 4, 6, 3]

6.slice()

功能:对数组进行截取
参数:第一个参数表示从什么位置开始 第二个参数表示到什么位置结束(不包含)
返回值:返回的是截取的元素组成的新数组
特点 不会改变原数组

var ary = [1, 3, 5, 3];
ary.slice(1, 3);
console.log(ary);// [1, 3, 5, 3]

7.concat()

功能:合并数组
参数:放需要合并的数组或值
返回值:返回的是合并后的新数组
特点 不会改变原数组

var ary = [1, 3, 5, 3];
var ary2 = [2, 4, 6];
var res = ary.concat(ary2);
console.log(res);//[1, 3, 5, 3, 2, 4, 6]

8.Join()

功能:以指定的符号连接数组的每个元素
参数:指定的符号或者为空(不传参数 默认以逗号)
返回值:返回的是连接后的字符串
特点 不会改变原数组

var ary = [1, 3, 5, 3];
var str = ary.join("-");
console.log(str);//1-3-5-3

9.reverse()

功能:以数组元素进行翻转
参数:无参数
返回值:返回的是翻转后的数组
特点 会改变原数组 “1,3,5”=>‘5,3,1’

var ary = [1, 3, 5, 3];
var newArr = ary.reverse()
console.log(ary);//[3, 5, 3, 1]

10.toString()

把数组转成字符串

var ary = [1, 3, 5, 3];
var newArr = ary.toString()
console.log(newArr);//1,3,5,3

11.forEach()

功能:对数组进行循环 和for作用类似
参数:接受一个函数
返回值:undefined
特点 会改变原数组

var ary = [1, 3, 5, 3];
ary.forEach(function(item, index, arr) {
	// item代表每一次循环的元素值 index代表每一次循环的元素下标 arr代表当前数组
    console.log(item, index, arr);
});

/*
1 0  [1, 3, 5, 3]
3 1  [1, 3, 5, 3]
5 2  [1, 3, 5, 3]
3 3  [1, 3, 5, 3]
*/

12.indexOf()

功能:在数组中查找元素
参数:需要查找的元素
返回值:数字,-1代表没有找到,或者找到的序号
特点 不会改变原数组, 找到第一个满足条件为止

var ary = [1, 3, 5, 3];
console.log(ary.indexOf(13));
//-1
var ary = [1, 3, 5, 13];
console.log(ary.indexOf(13));
//3

13.filter()

功能:在数组中过滤元素
参数:接受一个函数
返回值:满足条件的元素组成的数组
特点 不会改变原数组

var ary = [1, 3, 5, 3];
var res = ary.filter(function(item, index, arr) {
    return item % 3 === 0;
});
console.log(res);
//[3, 3]

14.map()

功能:对原数组进行映射,新数组的元素值是每次循环函数的返回值决定
参数:接受一个函数
返回值:与原数组对应的新数组
特点 不会改变原数组

var ary = [1, 3, 5, 3];
var res = ary.map(function(item, index, arr) {
    return 120;
});
console.log(res);// [120, 120, 120, 120]

15.some()

功能:在数组中找有没有满足条件的元素
参数:接受一个函数
返回值:布尔值 找到满足条件返回true 否则返回false
特点 不会改变原数组 只要找到第一个满足条件的元素终止循环 则返回true

var ary = [1, 3, 5, 3];
var res = ary.some(function(item, index, arr) {
    console.log(item);
    return item > 2;
});
console.log(res);
/*
//输出
1
3
true
*/

16.every()

功能:看数组中元素是否都满足条件
参数:接受一个函数
返回值:布尔值 只要找到一个不满足返回false,全部满足返回true
特点 不会改变原数组 只要找到第一个不满足条件的元素终止循环 则返回false

var ary = [1, 3, 5, 3];
var res = ary.every(function(item, index, arr) {
    console.log(item);
    return item > 2;
});
console.log(res);
/*
//输出:
1
false
*/

17.reduce()

这里的reduce是聚合的意思

var ary = [1, 3, 5, 3];        
//求和
var sum = ary.reduce(function(prev, current, index, arr) {
    console.log(prev, current, index);
    return prev + current;
}, 0);
console.log(sum);

/*
//输出
0 1 0
1 3 1
4 5 2
9 3 3

12

*/

18.isArray()

判断值是否是一个数组实例

console.log(Array.isArray({})); // false
console.log(Array.isArray([])); // true
console.log(Array.isArray(123)); // false

19.sort()

排序

var ary3 = [10, 3, 4, 12, 32, 11];
ary3.sort(function(a, b) {
	return b - a; // 降序 假如a-b就是升序
});
console.log(ary3); // [32, 12, 11, 10, 4, 3]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sun_Raiser

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值