数组常用方法总结

278 阅读1分钟

1.对数组中的所有值求和

var arr=[1,2,4,5,6]; 
var newArr=arr.reduce((x,y) =>{x+y}) //18

2.翻转数组,使用reverse

var arr=[1,2,4,5,6]; 
var newArr=arr.reverse() //[6,5,4,2,1]

3.从数组中获取随机值

var arr=[1,2,4,5,6]; 
var newArr=arr[(Math.floor(Math.random()*(arr.length)))] //"2"

4.删除数组中的虚值,虚值指的是:0,undefined,null,'',"",NaN,false ---使用filter方法进行过滤

var arr=["",'',NaN,null,true,false,0,9]; 
var newArr=arr.filter(Boolean); //[true,9]

5.求列个数组的交集 ,首先要保证数据组中的数据不重复,在使用下面额方法进行处理

var arr1=[1,2,4]; 
arr2 = [4,5,6]; 
var newArr =[...new Set(arr1)].filter(item =>{arr2.includes(item)}) //结果:[4]

6.数组的合并--使用展符(...)将数组合并

var arr1=[1,2,4];
arr2 =[5,6,7] 
var newArr = [...arr1,...arr2]; //[1,2,4,5,6,7]

7.用于数组中对象值的排序-正序

var arr = [{name: "zlw", age: 24}, {name: "wlz", age: 25}]; 
var compare = function (prop) { 
return function (obj1, obj2) { 
var val1 = obj1[prop];
var val2 = obj2[prop]; 
if (val1 < val2) { 
return -1; } else if (val1 > val2) {
return 1;
} else { return 0; 
} 
} 
} 
console.log(arr.sort(compare('age'))
//结果: [ {name: "zlw", age: 24}, {name: "wlz", age: 25} ]

8.用于数组中对象值的排序-倒序

var arr = [{name: "zlw", age: "24"}, {name: "wlz", age: "5"}]; 
var compare = function (prop) { return function (obj1, obj2) {
var val1 = obj1[prop];
var val2 = obj2[prop]; 
if (!isNaN(Number(val1)) && !isNaN(Number(val2))) { 
val1 = Number(val1); 
val2 = Number(val2); 
} 
if (val1 < val2) { 
return -1; 
} else if (val1 > val2) { 
return 1; 
} else { 
return 0; 
} 
} 
} 
console.log(arr.sort(compare('age'))) 
//结果: [ {name: "wlz", age: "5"}, {name: "zlw", age: "24"} ]