js数组操作(去重,排序)

一.数组去重

1.根据对象属性(weekly)进行数组去重

function unique(arr1) {
 const res = new Map();
 return arr1.filter((a) => !res.has(a.weekly) && res.set(a.weekly, 1))
},
二.数组排序

1.简单排序函数sort
sort() 方法以字母顺序对数组进行排序:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();   //['Apple', 'Banana', 'Mango', 'Orange']
fruits.reverse(); //Orange,Mango,Banana,Apple

如果是数字排序则需要辅助函数

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a - b}); //升序 1,5,10,25,40,100
points.sort(function(a, b){return b - a}); //降序 100,40,25,10,5,1

2.根据对象属性(prop)进行数组排序

function compare (prop) {
  return function (obj1, obj2) {
    var val1 = obj1[prop];
    var val2 = obj2[prop];
    if (!isNaN(parseInt((val1).replace(/[^0-9]/ig,''))) 
     && !isNaN(parseInt((val2).replace(/[^0-9]/ig,''))) ){
        val1 = parseInt((val1).replace(/[^0-9]/ig,''))
        val2 = parseInt((val2).replace(/[^0-9]/ig,''))
        console.log('比较的数' + val1 + val2)
    }
    if (val1 < val2) {
        return -1;
    } else if (val1 > val2) {
        return 1;
    } else {
        return 0;
    }            
  } 
},

如果想根据 age 进行排序, arr.sort(compare("age")) 即可。
参考:https://www.cnblogs.com/bbc66/p/9709219.html

附:js一个对象数组按照另一个数组排序(待整理)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值