基于另一个数组

时间:2016-08-08 11:31:24

标签: javascript

我有关键值对,如:

var x={1:Car,
2: Cycle,
3:John
}

这是来自JSON的响应。[对象对象] 我有这样的数组:var arr = [1,3,2] 我想按照arr排序x。 顺序应该是:{1:Car,3:John,2:Cycle}

在javascript中如何实现这一点。

2 个答案:

答案 0 :(得分:2)

您不需要对它们进行排序,只需创建一个新的空数组并通过获取arr的值并将它们用作x的索引来填充它。

var x = {
  1: 'Car',
  2: 'Cycle',
  3: 'John'
};
var arr = [1, 3, 2];

var output = [];
arr.forEach(function(item){
    output.push(x[item]);
});
console.log(output);

Fiddle

答案 1 :(得分:-1)

    var order = function(obj, arr) {
    var temp = {};
    for (var i = 0; i < arr.length; i++) {
        temp[i] = obj[arr[i]];
    }
    return temp;
}
var x = {
    1: "Car",
    2: "Cycle",
    3: "John"
}
var arr = [1, 3, 2]
x = order(x, arr);
console.log(x);