导航

萌即是正义!时不时分享一些ACG活动记录与有趣代码的小站!

侧边栏
最新评论
广树
2025-01-31 20:37
@tongnixcv:撤了吗?
tongnixcv
2025-01-31 19:42
哈哈哈,我撤我撤
广树
2025-01-31 12:31
@laffey:大佬新年快乐
广树
2025-01-31 12:31
@小彦:新年快乐! 哈哈哈,一年可能也就几次发短推文。
laffey
2025-01-31 12:23
新年快乐
正在攻略

logo_kai.jpg


PSN奖杯卡

PSN奖杯卡

赞助商广告

JS根据列表排列对象数组

作者:广树时间:2019-05-08 09:39:51分类:JavaScript/jQuery/Vue

应用场景:将对象数组根据指派的数组内容进行排序,未指定的对象按照原始顺序。

const nodeData_ = [
    {account:'a',node:1},
    {account:'b',node:2},
    {account:'c',node:3},
    {account:'d',node:4},
    {account:'e',node:5},
    {account:'f',node:6}
]
const sortInfo = ['f','c','b']
nodeData_.sort((a, b) => {
    if (sortInfo.indexOf(a.account) === -1 && sortInfo.indexOf(b.account) === -1) {
        return 1
    } else if (sortInfo.indexOf(a.account) !== -1 && sortInfo.indexOf(b.account) === -1) {
        return -1
    } else if (sortInfo.indexOf(a.account) === -1 && sortInfo.indexOf(b.account) !== -1) {
        return 1
    }
    return sortInfo.indexOf(a.account) - sortInfo.indexOf(b.account)
})
console.log(nodeData_)

输出结果:

0: {account: "f", node: 6}
1: {account: "c", node: 3}
2: {account: "b", node: 2}
3: {account: "a", node: 1}
4: {account: "d", node: 4}
5: {account: "e", node: 5}

donate.png

1210 x 50(蓝底).png

cloudcone