Javascript分类对象数组排序
假设我有一个对象数组:Javascript分类对象数组排序,javascript,sorting,object,categories,Javascript,Sorting,Object,Categories,假设我有一个对象数组: let array = [ {id: 0, type: "Office" }, {id: 1, type: "Security" }, {id: 2, type: "Office" }, {id: 3, type: "Security" }, {id: 4, type: "Security" }, {id: 5, type:
let array = [
{id: 0, type: "Office" },
{id: 1, type: "Security" },
{id: 2, type: "Office" },
{id: 3, type: "Security" },
{id: 4, type: "Security" },
{id: 5, type: "Office" },
{id: 6, type: "Agent" },
{id: 7, type: "Security" }
];
我需要根据自定义分类序列集对其进行排序,即[“Office”、“Agent”、“Security”]以获得以下输出:
var array = [
{id: 0, type: "Office" },
{id: 2, type: "Office" },
{id: 5, type: "Office" },
{id: 6, type: "Agent" }
{id: 1, type: "Security" },
{id: 3, type: "Security" },
{id: 4, type: "Security" },
{id: 7, type: "Security" }
];
没有找到任何合适的解决方案。您可以使用来获取排序顺序
let数组=[
{id:0,键入:“Office”},
{id:1,键入:“Security”},
{id:2,键入:“Office”},
{id:3,键入:“Security”},
{id:4,键入:“Security”},
{id:5,键入:“Office”},
{id:6,键入:“Agent”},
{id:7,键入:“Security”}
];
const order=[“办公室”、“代理”、“安全”]
sort((a,b)=>order.indexOf(a.type)-order.indexOf(b.type));
console.log(数组)代码>可用于获取排序顺序
let数组=[
{id:0,键入:“Office”},
{id:1,键入:“Security”},
{id:2,键入:“Office”},
{id:3,键入:“Security”},
{id:4,键入:“Security”},
{id:5,键入:“Office”},
{id:6,键入:“Agent”},
{id:7,键入:“Security”}
];
const order=[“办公室”、“代理”、“安全”]
sort((a,b)=>order.indexOf(a.type)-order.indexOf(b.type));
console.log(数组)代码>