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]
479

被折叠的 条评论
为什么被折叠?



