首页 > 编程语言 > 详细

javascript根据相同的值生成二维数组

时间:2021-09-22 17:59:47      阅读:30      评论:0      收藏:0      [点我收藏+]

两种方法:

1.forEach

   var list = [
        { id: 1, num: 3, },
        { id: 1, num: 3, },
        { id: 1, num: 2, },
        { id: 2, num: 1, },
        { id: 2, num: 2, },
        { id: 3, num: 2, },
        { id: 3, num: 3, },
    ]

    var result = [];
    list.forEach((item, index) => {
        var { id } = item;
        if (!result[id]) {
            result[id] = {
                id,
                value: []
            }
        }
        result[id].value.push({ num: item.num });
    });
    var data = Object.values(result);

 

2.Array.prototype.reduce()方法

const groupBy = (objectArray, property) => {
        return objectArray.reduce((acc, obj) => {
          var key = obj[property];
          if (!acc[key]) {
            acc[key] = [];
          }
          acc[key].push(obj);
          return acc;
        }, {})
      }


var groupData = Object.values(groupBy(list, ‘id‘))

console.log(groupData)

 

原数组

技术分享图片

 

 

转二维数组后的新数组

技术分享图片

 

javascript根据相同的值生成二维数组

原文:https://www.cnblogs.com/echoyu/p/15308022.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!