根据对象数组的key进行分组

简单版:

const arr = [
    {
        key: 'aaa',
        tableName: 'bbbbb'
    },
    {
        key: 'aaa',
        tableName: 'bbbbb'
    },{
        key: 'www',
        tableName: 'bbbbb'
    },
    {
        key: 'www',
        tableName: 'bbbbb'
    },
    {
        key: 'mysql_ytr',
        tableName: 'bbbbb'
    }
]

// 把arr按key進行分組, 輸出結果是對象,對象裡面用key做鍵名,值是數組
const result = {};
arr.forEach(item => {
  if (!result[item.key]) {
    result[item.key] = [];
  }
  result[item.key].push(item);
});

console.log(result);

最终效果
在这里插入图片描述

复杂版----------------------:

const keyObj = {
    1: {
       key: 'sensitive',
       msg: '敏感信息'
    },
    2:{
       key: 'noExist',
       msg: '不存在'
    },
    3:{
       key: 'connectFailed',
       msg: '連接失敗'
    },
}
const arr = [
    {
        databaseName: 'aaaa',
        failedType: 3,
        tableName: 'bbbbb'
    },
    {
        databaseName: 'kkkk',
        failedType: 1,
        tableName: 'bbbbb'
    },{
        databaseName: 'wwwww',
        failedType: 2,
        tableName: 'bbbbb'
    },
    {
        databaseName: 'wwwww',
        failedType: 2,
        tableName: 'bbbbb'
    }
]
// 把arr按failedType進行分組, 輸出結果是數組,數組裡面是按failedType對應keyObj里面的key做鍵名分好的數組
const result = {};
arr.forEach(item => {
  const key = keyObj[item.failedType].key;
  const msg = keyObj[item.failedType].msg;
  if (!result[key]) {
    result[key] = {
      msg: msg,
      data: []
    };
  }
  result[key].data.push(item);
});

console.log(result);

最终效果:

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值