js日常使用
- js常用数组方法斜体样式
- 1. Array.push() 尾部添加元素
- 2. Array.pop() 尾部删除
- 3. Array.unshift() 头部添加
- 4. Array.shift() 头部删除
- 5. Array.concat(arr1,arr2...) 合并数组
- 6. Array.join() 拼接成字符串
- 7. Array.reverse() 倒序
- 8. Array.sort() 排序
- 9.Array.map(function),循环
- 10.Array.slice(start,end) 截取数组
- 11.Array.splice(index,howmany,arr1,arr2...) ,删除添加元素
- 12.Array.forEach(function),循环
- 13.Array.filter(function),过滤
- 14.Array.every(function),
- 15.Array.some(function),
- 16.Array.reduce(function),reduce()
js常用数组方法斜体样式
1. Array.push() 尾部添加元素
Array.push(),向数组的末尾添加一个或多个元素,并返回新的数组长度。原数组改变。
var arr =[1,2,3,4] ;
arr.push(5,6,7);
arr=[1, 2,3,4,5,6,7];
2. Array.pop() 尾部删除
Array.pop(),删除并返回数组的最后一个元素,若该数组为空,则返回undefined。原数组改变。
var arr = [1,2,3,4,5,6,7]
var del = arr.pop();
//del = 7;
//arr = [1,2,3,4,5,6];
3. Array.unshift() 头部添加
Array.unshift(),向数组的开头添加一个或多个元素,并返回新的数组长度。原数组改变。
var arr = [1,2,3,4,5,6,7]
var res = arr.unshift(0)
//res = 8;
//arr = [0,1,2,3,4,5,6,7];
4. Array.shift() 头部删除
Array.shift(),删除数组的第一项,并返回第一个元素的值。若该数组为空,则返回undefined。原数组改变。
var arr =[1,2,3,4,5,6,7];
var res = arr.shift();
// res= 1;
// arr =[2,3,4,5,6,7];
5. Array.concat(arr1,arr2…) 合并数组
Array.concat(arr1,arr2…),合并两个或多个数组,生成一个新的数组。原数组不变。
var arr =[1,2,3,4,5,6,7];
var arr1 = ["a","b","c"];
var arr2 = ["x","y","z"];
var res = arr.concat(arr1,arr2);
//res = [1,2,3,4,5,6,7,"a","b","c","x","y","z"];
//arr = [1,2,3,4,5,6,7];
6. Array.join() 拼接成字符串
Array.join(),将数组的每一项用指定字符连接形成一个字符串。默认连接字符为 “,” 逗号。
var arr =[1,2,3,4,5,6,7];
var str1 = arr.join();
var str2 = arr.join("-");
// str1 = 1,2,3,4,5,6,7;
// str2 = 1-2-3-4-5-6-7;
7. Array.reverse() 倒序
Array.reverse()将数组倒序。原数组改变。
var arr =[1,2,3,4,5,6,7];
arr.reverse();
// arr= [7,6,5,4,3,2,1];
8. Array.sort() 排序
Array.sort()对数组元素进行排序。按照字符串UniCode码排序,原数组改变。
①从小到大
var sortNum = function(a,b){
return a-b;
}
arr.sort(sortNum)
//arr = [1,2,3,4,53,1231,4151]
②从大到小
var sortNum = function(a,b){
return b-a;
}
arr.sort(sortNum)
//arr = [4151,1231,53,4,3,2,1]
③按照数组对象中的某个值进行排序
var arr1 = [
{name:"张三",age:18},
{name:"李四",age:28},
{name:"小明",age:20},
]
function compare(param){
return function(a,b){
return b[param]-a[param];
}
}
arr1.sort(compare("age"));
9.Array.map(function),循环
Array.map(function),原数组的每一项执行函数后,返回一个新的数组。原数组不变。(注意该方法和forEach的区别)。
var mapArr = [12,23,24,42,1];
var mapRes = mapArr.map((item,index,input)=>{
return item*10
})
//mapArr = [12,23,24,42,1];
//mapRes = [120, 230, 240, 420, 10]
10.Array.slice(start,end) 截取数组
Array.slice(start,end),从start开始,end之前结束,不到end;如果不给end值,从start开始到数组结束。start可以给负值,-1表示数组最后位置,-2表示倒数第二个,以此类推,顾前不顾后
var arr = [1,2,3,4];
var a = arr.slice(-3,-1);
//a = [2,3]
11.Array.splice(index,howmany,arr1,arr2…) ,删除添加元素
删除元素并添加元素,从index位置开始删除howmany个元素,并将arr1、arr2…数据从index位置之前依次插入。howmany为0时,则不删除元素。原数组改变。
var arr2 = [1,2,3,4];
arr2.splice(1,1,5,6)
//arr2 = [1, 5, 6, 3, 4]
12.Array.forEach(function),循环
用于调用数组的每个元素,并将元素传递给回调函数。改变原数组。(注意该方法和map的区别,若直接打印Array.forEach,结果为undefined)。
var forEachArr = [12,23,24,42,1];
forEachArr.forEach((item,index,input)=>{
input[index]=item*10
})
//forEachArr = [120, 230, 240, 420, 10]
13.Array.filter(function),过滤
过滤数组中,符合条件的元素并返回一个新的数组。
var arr = [12,23,24,42,1];
var res = arr.filter(function(x){
return x>2
})
//res = [12,23,24,42]
14.Array.every(function),
对数组中的每一项进行判断,若都符合则返回true,否则返回false。
15.Array.some(function),
对数组中的每一项进行判断,若都不符合则返回false,否则返回true。
16.Array.reduce(function),reduce()
方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。