将数组数组转换为键值对数组

时间:2013-07-25 11:38:46

标签: javascript jquery

我想使用javascript或jquery将数组数组转换为键值对数组。

我有一些数组:

var arrOfarr = [[1,'One'],[2,'Two'],[3,'Three']];

如何将arrOfarr转换为看起来像

的键值对数组
[{id:1,text:'One'},{id:2,text:'Two'},{id:3,text:'Three'}]

6 个答案:

答案 0 :(得分:6)

var result = [];
for (var i = 0, iLength = arrOfarr.length; i < iLength; i++) {
    result.push({ id: arrOfarr[i][0], text: arrOfarr[i][1] });
}

console.log(result);

答案 1 :(得分:2)

您可以使用$.map()

arrOfarr = jQuery.map(arrOfarr, function(val){
    return {id: val[0], text: val[1]}
})

演示:Fiddle

答案 2 :(得分:2)

var arrOfarr = [[1,'One'],[2,'Two'],[3,'Three']];
var hash = new Array(arrOfarr.length);
for (var x = 0; x < hash.length; x++) {
    hash[x] = {id: arrOfarr[x][0], text: arrOfarr[x][1]};   
}

如果您有大型数组或大量数组,这可能会对您有所帮助,因为它会提前分配数组的大小。

答案 3 :(得分:1)

var result = [];
for(var i = 0; i < arrOfarr.length; i++){
    var ar = arrOfarr[i];
    result.push({ id: ar[0], text: ar[1] });
}

答案 4 :(得分:1)

你可以;

var arr = [[1,'One'],[2,'Two'],[3,'Three']];

var o = []
for (var i = 0; i < arr.length; i++)
{
    o.push({id: arr[i][0], text: arr[i][1]});
}

答案 5 :(得分:1)

试试这个,

a=[[1,'one'],[2,'two'],[3,'three']];
$.each(a,function(id,value){
a[id]={id:value[0],text:value[1]};
});

现在你可以根据需要拥有三个对象。