1.数组元素相加
reduce方法
const arr = [1,2,3,4,5,6,7]
const sum = arr.reduce((pre,cur)=>{
return pre +cur
})
console.log(sum) //28
const arr = [1,2,3,4,5,6,7]
const sum = arr.reduce((pre,cur)=>{
return pre +cur
},2)
console.log(sum) //30 ,因为是从2开始
2.数组去重
const arr3 = [1,2,3,4,5,3,2,1,6,4,7,8]
const resultArr = arr3.reduce((pre,cur)=>{
if(!pre.includes(cur)){
return pre.concat(cur)
}
else{
return pre
}
},[])
console.log(resultArr) // [1, 2, 3, 4, 5, 6, 7, 8]
3.数组排序
function NumAscSort(a,b)
{
return a - b;
}
function NumDescSort(a,b)
{
return b - a;
}
var arr = new Array( 3600, 5010, 10100, 801);
arr.sort(NumDescSort);
console.log(arr);
arr.sort(NumAscSort);
console.log(arr);
取最大最小值
var min = arr[0]; // 801
var max = arr[arr.length - 1]; // 10100
var myarray=[“Apple”, “Banana”, “Orange”]
myarray.sort()
let arr = [
{num:1},{num:2}
]
arr.sort((a,b)=>{ return b.num - a.num });
4.计算数组中每个元素出现的次数
let person = [‘苹果’,‘香蕉’,‘火龙果’,‘香蕉’,‘桃子’,‘葡萄’]
let nameObj = person.reduce((pre,cur) =>{
if( cur in pre){
pre[cur]++
}
else{
pre[cur] = 1
}
return pre
}, {})
console.log(nameObj) //{苹果:1,香蕉:2,火龙果:1,桃子:1,葡萄:1}