根据列表顺序排序对象数组[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据列表顺序排序对象数组[重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

大家好,我有排序的任务。这是交易:我有一个数组

arr = [{role:'mom', name:'a'}, {role:'dad', name:'d'}, {role:'bro', name: 'c'}]

并排序序列表sortSequence = ['dad','mom','bro']所以根据这个列表我需要一个输出数组相等

arr = [{role:'dad', name:'d'}, {role:'mom', name:'a'}, {role:'bro', name: 'c'}]

如何使用sort方法来做到这一点?

const sortAccordingList = (list, arr) => {
    //... ?
}
答案

您可以使用indexOf获取角色的索引

var sortSequence = ['dad', 'mom', 'bro'];
var arr = [{role:'mom', name:'a'}, {role:'dad', name:'d'}, {role:'bro', name: 'c'}];

arr.sort((a, b) => sortSequence.indexOf(a.role) - sortSequence.indexOf(b.role));

console.log(arr);

以上是关于根据列表顺序排序对象数组[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何根据GPA对数组列表进行升序排序? arraylist 包含一个对象数组。 (Java)[重复]

C#根据多个(26 + 3)类别以特定顺序对对象列表进行排序(LINQ,if else,switch case)[关闭]

数组列表排序[重复]

根据子列表中的第二个元素按字母顺序对列表进行排序,但不区分大小写[重复]

数组列表排序[重复]

如何根据自定义所需顺序对包含列表的数组列表进行排序