如何更改javascript中对象的关键?

时间:2017-11-10 09:12:26

标签: javascript arrays function typescript object

我有:

var first = { 0: true, 1: false, 2: true };

    var second = [
      { name: 'car', value: false },
      { name: 'bike', value: false },
      { name: 'moto', value: false }];

我希望更改第一个基于第二个的键,如:

first = { car: true, bike: false, moto: true };

2 个答案:

答案 0 :(得分:0)

我希望你尝试过......

如果我理解了这个问题,你可以编码:

var firstTemp = first;
for(var f in firstTemp){
    first[second[f].name]=first[f];
    first[f]=null;
}
firstTemp = null;

答案 1 :(得分:0)

您可以迭代数组并更新对象first。然后删除used属性。

var first = { 0: true, 1: false, 2: true },
    second = [{ name: 'car', value: false }, { name: 'bike', value: false }, { name: 'moto', value: false }];
    
second.forEach(function (o, i) {
    first[o.name] = first[i];
    delete first[i];
});

console.log(first);