javascript中具有键值对的数组中的键值对

javascript中具有键值对的数组中的键值对,javascript,arrays,json,underscore.js,Javascript,Arrays,Json,Underscore.js,我有这样一个数组: var arrayTemp = [ {"0":["Z",59]}, {"1":["D",53]}, {"2":["6",26]}, {"3":["3",19]}, {"4":["Y",10]}, {"5":["H",7]}, {"6":["G",5]}, {"7":["2",5]} ]; var newArray = arrayTemp.map(function(e) { var index = Object.keys(e).shift(), in

我有这样一个数组:

var arrayTemp = [
{"0":["Z",59]},
{"1":["D",53]},
{"2":["6",26]},
{"3":["3",19]},
{"4":["Y",10]},
{"5":["H",7]},
{"6":["G",5]},
{"7":["2",5]}
];
var newArray = arrayTemp.map(function(e) { 
    var index = Object.keys(e).shift(),
        innerElement = e[index],
        ret = {};

    ret[innerElement[0]] = innerElement[1];
    return ret;
})
我需要一个类似于下面的输出

var arrayTemp = [
{"Z":59},
{"D":53},
{"6":26},
{"3":19},
{"Y":10},
{"H":7},
{"G":5},
{"2":5}
];
我如何做到这一点?我希望借助json、下划线或JavaScript实现这一点。

类似这样的东西:

var arrayTemp = [
{"0":["Z",59]},
{"1":["D",53]},
{"2":["6",26]},
{"3":["3",19]},
{"4":["Y",10]},
{"5":["H",7]},
{"6":["G",5]},
{"7":["2",5]}
];
var newArray = arrayTemp.map(function(e) { 
    var index = Object.keys(e).shift(),
        innerElement = e[index],
        ret = {};

    ret[innerElement[0]] = innerElement[1];
    return ret;
})
要测试。

使用,您可以迭代原始数组的每个元素,并创建所需的对象,将它们作为新数组中的新元素返回

var newArray = arrayTemp.map(function(e, index) { 
    var x = {};
    x[e[index][0]] = e[index][1];

    return x;
})

-使用
Array.prototype.map()
创建新数组

带下划线的

var newArr = _.map(arrayTemp, function(item){
    for (var i in item){
       var o = {};
       o[item[i][0]] = item[i][1];
       return o;
    }
});

尽管@François_Wahl的解决方案在我看来是更好的解决方案,使用原生数组.prototype.map()。

就其价值而言,下划线或javascript是重言式的。这里没有JSON,也不会有帮助。您能否发布您当前正试图使用读取数组并生成新的所需数组,所以我们可以看看为什么它不起作用?此外,添加一个(或类似的)演示该问题的示例也非常有用。