导航

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

侧边栏
最新评论
广树
2024-07-25 19:11
@Chlorine:好的大佬!珍惜现有的大学生活吧,未来的强度可能会更高🤭。
Chlorine
2024-07-25 18:23
@广树:真说不上大佬,只是一个被大二即将到来的高强度课程吓破胆的小菜鸡(/TДT)/
广树
2024-07-25 09:06
@Chlorine:爱学习的大佬!
Chlorine
2024-07-25 08:28
hhh,学习 C++——吉,那就学 DSA (数据结构)去啦 awa
广树
2024-07-24 21:00
@Jacylunatic:还没预约上呢🤭
正在攻略

あおかなEXTRA1

黑白的莫比乌斯.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}