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

原数组
Js根据数组相同的值生成二维数组_第1张图片
新数组
Js根据数组相同的值生成二维数组_第2张图片

<script>
    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);
</script>

你可能感兴趣的:(Js)