【发布时间】:2019-08-04 12:06:35
【问题描述】:
假设我有一个对象数组:
var list = [
{ name: "A", distance: 1},
{ name: "B", distance: 2},
{ name: "C", distance: 3},
{ name: "D", distance: 4},
{ name: "E", distance: 5},
{ name: "F", distance: 6},
{ name: "G", distance: 7},
{ name: "H", distance: 8}
];
如果我有另一个像这样的数组:
var disturbed = ["G", "B", "C", "F"];
如何根据distance property 从list array 对disturbed array 进行排序,如下所示:
["B", "C", "F", "G"];
编辑:我试过这段代码没有成功:
items = [
{ name: "A", distance: 1},
{ name: "B", distance: 2},
{ name: "C", distance: 3},
{ name: "D", distance: 4},
{ name: "E", distance: 5},
{ name: "F", distance: 6},
{ name: "G", distance: 7},
{ name: "H", distance: 8}
]
sorting = [ 1, 2,3,4,5,6,7,8,9,10 ];
result = []
for (let i = 0; i < items.length; i++){
sorting.forEach(function(key) {
var found = false;
items = items.filter(function(item) {
if(!found && items[i].distance == key) {
result.push(item);
found = true;
return false;
} else
return true;
})
})
result.forEach(function(item) {
document.writeln(item[i])
})
}
如何根据另一个对象数组的属性值对数组进行排序
【问题讨论】:
标签: javascript