JS常用数组方法整理
常用方法
1. concat () 拼接
concat 实例
var arr = [2,3,5];
var arr2 = arr.concat(9,13]);
console.log(arr2); //[2, 3, 5, 9, 13]
console.log(arr); // [2, 3, 5](原数组未被修改)
2.join() 数组转为字符串,通过join括号里的内容拼接(括号内不写默认为“,”)
join实例
var arr = [1,2,3];
console.log(arr.join()); // 1,2,3
console.log(arr.join("~")); // 1~2~3
console.log(arr); // [1, 2, 3](原数组不变)
3. sort():从小到大排序
sort 实例
var arr1 = ["4", "1", "3", "2"];
console.log(arr1.sort()); // ["1", "2", "3", "4"]
4. reverse():反转数组项顺序。
reverse实例
var arr = [1, 4, 5, 3];
console.log(arr.reverse()); //[3, 5, 4, 1]
console.log(arr); //[3, 5, 4, 1](原数组改变)
5. slice():截取
返回从原数组中指定开始下标到结束下标之间的项组成的新数组。可以接受一或两个参数,即要返回项的起始和结束位置。
slice实例
var arr = [1,3,5,7,9,11];
var arr2 = arr.slice(1);
var arr3 = arr.slice(1,4);
console.log(arr2); //[3, 5, 7, 9, 11]
console.log(arr3); //[3, 5, 7]
console.log(arr); //[1, 3, 5, 7, 9, 11](原数组没变)
6. splice():删除、插入。
删除实例 ( 2 个参数:要删除的第一项的位置和要删除的项数。)
var arr= ["a", "b", "c", "d"];
arr.splice(0, 1); // 删除 arr中的第一个元素
插入实例 ( 向指定位置插入任意数量的项,提供 3 个参数:起始位置、 0(要删除的项数)和要插入的项)
var arr = ["a", "b", "c", "d"];
arr.splice(2, 0, "e", "f");
console.log(arr) // ["a", "b", "e", "f", "c", "d"]
7. push()和pop() (针对最后一项)
push(): 添加到数组末尾
pop():移除数组最后一项。
push 添加实例
var arr = ["a", "b", "c"];
var b = arr.push("x", "y");
console.log(b); // 5 (长度)
console.log(arr); // ["a", "b", "c", "x", "y"]
pop 移除实例
var arr = ["a", "b", "c"];
var b= arr.pop();
console.log(b); // c
console.log(arr); // ["a", "b"]
8. shift() 和 unshift() (针对第一项内容)
shift():删除原数组第一项,并返回删除元素的值。
unshift():将参数添加到原数组开头,并返回数组的长度 。
unshift 添加实例
var arr = ["a", "d", "c"];
var b = arr.unshift("x", "y");
console.log(b); // 5
console.log(arr); //["x", "y", "a", "d", "c"]
shift 删除实例
var arr = ["a", "d", "c"];
var b = arr.shift();
console.log(b); // a
console.log(arr); // ["d", "c"]
9. indexOf()和 lastIndexOf() 查找
indexOf():接收两个参数:要查找的项和起点位置。从数组的开头开始向后查找。
lastIndexOf():接收两个参数:要查找的项和起点位置,从数组的末尾开始向前查找。
实例
var arr = [1,3,5,7,7,5,3,1];
console.log(arr.indexOf(5)); //2
console.log(arr.lastIndexOf(5)); //5
console.log(arr.indexOf(5,2)); //2
console.log(arr.lastIndexOf(5,4)); //2
10. forEach() 循环
forEach():对数组进行遍历循环,对数组中的每一项运行给定函数。参数分别为:遍历的数组内容;第对应的数组索引,数组本身。参数都是function类型,默认有传参。
实例
var arr = [1, 2, 3, 4, 5];
arr.forEach(function(x,index){
console.log(x,index);// 输出为:
}); // 1 0
// 2 1
// 3 2
// 4 3
// 5 4
11. map() 映射
map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
实例
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.map(function (item) {
return item + item;
});
console.log(arr2); //[2, 4, 6, 8, 10]
12. filter() 过滤
filter():“过滤”功能,数组中的每一项运行给定函数,返回满足过滤条件组成的数组。
实例
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var arr2 = arr.filter(function (x, index) {
return x>9 || index >3 ;
});
console.log(arr2); //[5, 6, 7, 8, 9, 10]
13. every()
every():判断数组中每一项都是否满足条件,所有项都满足条件,才会返回true。
实例
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.every(function(x) {
return x < 10;
});
console.log(arr2); //true
var arr3 = arr.every(function(x) {
return x < 3;
});
console.log(arr3); // false
14. some()
some():判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。
实例
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.some(function(x) {
return x < 3;
});
console.log(arr2); //true
var arr3 = arr.some(function(x) {
return x < 1;
});
console.log(arr3); // false