Joh*_*ean 1 javascript arrays sorting
我的第一个数组看起来像这样:
[
{entityId: 1, name: 'Total sales'},
{entityId: 2, name: 'Total customers'},
{entityId: 3, name: 'Reach'}
]
Run Code Online (Sandbox Code Playgroud)
我有第二个存储entityIds的数组,我需要使用第二个数组的值对第一个数组进行排序.所以,如果我的第二个数组看起来像这样:
[1, 3, 2]
Run Code Online (Sandbox Code Playgroud)
那么我的第一个数组应该像这样排序:
[
{entityId: 1, name: 'Total sales'},
{entityId: 3, name: 'Reach'},
{entityId: 2, name: 'Total customers'}
]
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过使用sort我自己的回调方法对基于对象属性的数组进行排序:
array.sort(function(a, b) {
// ... sorting logic ...
});
Run Code Online (Sandbox Code Playgroud)
然而,我正在努力解决排序逻辑如何遵循第二个数组强加的排序规则,而不是仅仅比较两个相邻元素.
var arr = [
{entityId: 1, name: 'Total sales'},
{entityId: 2, name: 'Total customers'},
{entityId: 3, name: 'Reach'}
];
var indArr = [3, 1, 2];
arr.sort(function(a, b) {
return indArr.indexOf(a.entityId) - indArr.indexOf(b.entityId);
});
console.log(arr);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |