js将数组中按照相同属性值组合成新的数组

let ListData = 
[{ StEntId: 1, StEntName: '企业名称企业名称1', EsGrade: 1, OrderDt: '2019-12-01' },
{ StEntId: 2, StEntName: '企业名称企业名称2', EsGrade: 4, OrderDt: '2019-12-02' },{ StEntId: 1, StEntName: '企业名称企业名称否', EsGrade: 5, OrderDt: '2019-12-03' },{ StEntId: 2, StEntName: '企业名称企业名称22', EsGrade: 7, OrderDt: '2019-12-04' }]
按照特定的参数将数组排序将具有相同值得排在一起
 function dataFormat (arr, str) {
     arr = arr.sort(function (a, b) {
        var s = a[str]
        var t = b[str]
        return s < t ? -1 : 1
      })
     return arr
   }
 console.log(dataFormat(ListData,'StEntId'))
     
将相同类别的对象添加到统一个数组
// 传入一个数组
// 按照特定方式格式化
function sortArr(arr, str) {
    var _arr = [],
        _t = [],
        // 临时的变量
        _tmp;
 
    // 按照特定的参数将数组排序将具有相同值得排在一起
    arr = arr.sort(function(a, b) {
        var s = a[str],
            t = b[str]
        return s < t ? -1 : 1
    })
    if ( arr.length ){
        _tmp = arr[0][str]
    }
    // console.log( arr )
    for (var i in arr) {
        console.log( _tmp)
        if ( arr[i][str] === _tmp ){
            console.log(_tmp)
            _t.push( arr[i] )
        } else {
            _tmp = arr[i][str]
            _arr.push( _t )
            _t = [arr[i]]
        }
    }
    // 将最后的内容推出新数组
    _arr.push( _t )
    return _arr
}
 
sortArr(ListData,'StEntId'))
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值