我正在使用Google的路线API来获取优化路线列表,给出了几点。它返回一个数组正确的数组:
[obj4, obj0, obj6, obj7, obj1, obj3, obj5, obj2]
我想使用该数组来命令我的点,这是一个对象数组:
{{1}}
得到结果:
{{1}}
为了做到这一点,我该怎么办?
答案 0 :(得分:6)
您可以使用map
功能。
var indexes = [4, 0, 6, 7, 1, 3, 5, 2],
objs = ['obj0', 'obj1', 'obj2', 'obj3', 'obj4', 'obj5', 'obj6', 'obj7'],
result = indexes.map(i => objs[i]);
console.log(result);

.as-console-wrapper { max-height: 100% !important; top: 0; }

答案 1 :(得分:0)
//googleArray = [4, 0, 6, 7, 1, 3, 5, 2]
var myArray = [];
myOldArray = [obj0, obj1, obj2, obj3, obj4, obj5, obj6, obj7];
for(var i in googleArray){
myArray[i] = myOldArray[googleArray[i]];
}
答案 2 :(得分:0)
你可以遍历订单数组,随时建立一个新数组:
var orders = [4, 0, 6, 7, 1, 3, 5, 2];
var objects = [obj0, obj1, obj2, obj3, obj4, obj5, obj6, obj7];
var output = [];
for (var i = 0; i < orders.length; i++) {
output.push(objects[orders[i]]);
}
答案 3 :(得分:0)
function orderArr(reference, arrayToOrder) {
var ordArr = [];
referenceArr.forEach((e, i) => {
ordArr.push(arrayToOrder[e])
})
return ordArr;
}
你有很多选择,哈哈!
但@Ele答案是最好的答案。