js数组对象的去重与数字、中文排序

let arrObj = [

{ name: "bb", id: 10 },

{ name: "cc", id: 10 },

{ name: "vv", id: 22 },

{ name: "kk", id: 15 },

{ name: "tt", id: 55},

{ name: "uu", id: 15 } 

];    

  // 数组对象去重(方法一)

        for( let i =  0; i < arrObj.length; i++ ){

             for( let j =  i+1; j < arrObj.length; j++ ){

                  if( arrObj[i].id == arrObj[j].id ){

                        arrObj.splice(j,1)

                        j--

                  }

             }

        }

        // 数组对象去重(方法二)

            let obj = {}

            arrObj = arrObj.reduce( (one,two) =>{

                 obj[two.id] ? "" : obj[two.id] = true && one.push(two)

                 return one

            },[])

    //  数组对象排序

        arrObj = arrObj.sort( (one,two) =>{

             return one.id - two.id

        })

 // console.log(222,arrObj)

//根据中文排序

  let listdata = [

 {bustype: '开业'},

{bustype: '备案'},

{bustype: '变更'},

{bustype: '注销'},

{bustype: '备案'},

{bustype: '注销'},

 {bustype: '开业'},

]

   listdata.sort((a, b) => {

              let reg = /^[A-z]/;

              if (reg.test(a.bustype) || reg.test(b.bustype)) {

                if (a.name > b.bustype) {

                  return 1;

                } else if (a.bustype < b.bustype) {

                  return -1;

                } else {

                  return 0;

                }

              } else {

                return a.bustype.localeCompare(b.bustype, "zh");

              }

           });

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

太空游走的鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值