排序排序并增加计数器

时间:2018-10-10 11:10:14

标签: mysql node.js sequelize.js

我收到数据库的回复,如何按ID排序,“ count”将按ID递增,我只需要序列化,或者如果您知道使用JS的快速方法,欢迎您:{{1} }

1 个答案:

答案 0 :(得分:1)

这是答案

'use strict';
const list = [
    {
        count: 12,
        Dish: {
            id: 2,
            name: 'Дессерт 4'
        }
    },
    {
        count: 2,
        Dish: {
            id: 1,
            name: 'Дессерт 4'
        }
    },
    {
        count: 3,
        Dish: {
            id: 2,
            name: 'Дессерт 4'
        }
    },
    {
        count: 10,
        Dish: {
            id: 1,
            name: 'Дессерт 4'
        }
    }
];
console.log('Unsorted ', list);
const set = new Set();
list.sort((ele1, ele2) => {
    if (!set.has(ele1)) {
        ele1.count += ele1.Dish.id;
        set.add(ele1);
    }

    if (!set.has(ele2)) {
        ele2.count += ele2.Dish.id;
        set.add(ele2);
    }

    return ele1.Dish.id - ele2.Dish.id;
});

console.log('Sorted ', list);