sequelize排序和递增计数器

bogh5gae  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(384)

我有一个来自db的回复,我如何按id排序,“计数”将按id增加我只在sequelize中需要这个,或者如果你知道用js做这件事的快速方法,欢迎你: [ { "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" } } ]

laximzn5

laximzn51#

这是答案

'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);

相关问题