1

javascriptまたはjqueryを使用して、配列の配列をキーと値のペアの配列に変換したいと考えています。

私は次のような配列の配列を持っています:

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

arrOfarr を次のようなキーと値のペアの配列に変換する方法

[{id:1,text:'One'},{id:2,text:'Two'},{id:3,text:'Three'}]
4

6 に答える 6

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);
于 2013-07-25T11:41:33.103 に答える
2

$.map()を使用できます

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

デモ:フィドル

于 2013-07-25T11:41:10.370 に答える
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]};   
}

これは、配列のサイズを事前に割り当てるため、大きな配列または多数の配列がある場合にパフォーマンスを向上させる可能性があります。

于 2013-07-25T11:45:29.210 に答える
1

これを試して、

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

これで、必要に応じて 3 つのオブジェクトが作成されます。

于 2013-07-25T12:43:02.793 に答える
1
var result = [];
for(var i = 0; i < arrOfarr.length; i++){
    var ar = arrOfarr[i];
    result.push({ id: ar[0], text: ar[1] });
}
于 2013-07-25T11:42:01.537 に答える
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]});
}
于 2013-07-25T11:42:13.687 に答える