我想使用javascript或jquery将数组数组转换为键值对数组。
我有一些数组:
var arrOfarr = [[1,'One'],[2,'Two'],[3,'Three']];
如何将arrOfarr转换为看起来像
的键值对数组[{id:1,text:'One'},{id:2,text:'Two'},{id:3,text:'Three'}]
答案 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]};
});
现在你可以根据需要拥有三个对象。