У меня есть массив, мне нужен окончательный вывод на основе пользовательского порядка сортировки CategoryId: (5,9,14,1,9,3) на основе TypeID
console.log(_.sortBy(arr, 'CategoryID'));
Я могусортировать CategoryId, но я хочу отсортировать по CategoryID с этим конкретным порядком.
<html>
<head>
<script type="text/javascript" src=
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore.js">
</script>
</head>
<body>
<script type="text/javascript">
var arr = [
{name: 'kim', salary: 4000,CategoryId:3, TypeId:1},
{name: 'shelly', salary: 5000,CategoryId:14, TypeId:1},
{name: 'don', salary: 100,CategoryId:9, TypeId:1},
{name: 'mark', salary: 4500,CategoryId:5, TypeId:2},
{name: 'mark', salary: 4500,CategoryId:5, TypeId:1},
{name: 'joh', salary: 3450,CategoryId:9, TypeId:1},
{name: 'joe', salary: 5100,CategoryId:1, TypeId:1},
{name: 'moore', salary: 5100,CategoryId:14, TypeId:2},
{name: 'wane', salary: 1500,CategoryId:14, TypeId:2},
{name: 'dick', salary: 400,CategoryId:3, TypeId:1}
];
console.log(_.sortBy(arr, 'CategoryId'));
</script>
</body>
Я ожидаю, что определенный порядок набора результатов для
CategoryId: (5,9,14,1,3)
Окончательный вывод:
const output = [{
name: 'mark',
salary: 4500,
CategoryId: 5,
TypeId: 1,
}, {
name: 'joh',
salary: 3450,
CategoryId: 9,
TypeId: 1,
}, {
name: 'don',
salary: 100,
CategoryId: 9,
TypeId: 1,
}, {
name: 'joh',
salary: 3450,
CategoryId: 9,
TypeId: 1,
}, {
name: 'shelly',
salary: 5000,
CategoryId: 14,
TypeId: 1,
}, {
name: 'joe',
salary: 5100,
CategoryId: 1,
TypeId: 1,
}, {
name: 'kim',
salary: 4000,
CategoryId: 3,
TypeId: 1,
}, {
name: 'mark',
salary: 4500,
CategoryId: 5,
TypeId: 2,
}, {
name: 'moore',
salary: 5100,
CategoryId: 14,
TypeId: 2,
}, {
name: 'wane',
salary: 1500,
CategoryId: 14,
TypeId: 2,
}];