2017-03-20 3 views
0

私は、配列の配列を返す変数を持っています。各配列の各項目は二重引用符で囲んでいます。AngularJSを使用して配列の配列をJSONに変換する方法は?

var arrayOfArrays = [ 
    [ "Name", "Age", "Address" ], 
    [ "A", "43", "CA" ], 
    [ "B", "23", "VA" ], 
    [ "C", "24", "NY" ] 
] 

私は次のようにこれを変換する必要があります。

var arrayOfObjects = [ 
    {"Name":"A", "Age":"43", "Address":"CA"}, 
    {"Name":"B", "Age":"23", "Address":"VA"}, 
    {"Name":"C", "Age":"24", "Address":"NY"} 
] 

答えて

0

は、ヘッダを抽出し、map機能を使用します。

var headers = arrayOfArrays.splice(0,1)[0]; 

var arrayOfObjects = arrayOfArrays.map(function(e) { 
    var o = {}; 
    headers.forEach(function(h, index) { 
    o[h] = e[index]; 
    }) 

    return o; 
}); 

リンクHEREを。

+0

? @AlonSegal –

+0

私はそれを動的に編集しました@nikhil –

1

ここでは簡単なデモです。それは、動的にする方法

var arrayOfArrays = [ 
 
    ["Name", "Age", "Address"], 
 
    ["A", "43", "CA"], 
 
    ["B", "23", "VA"], 
 
    ["C", "24", "NY"] 
 
]; 
 

 
function testConvert(arr) { 
 
    var result = []; 
 
    var keys = arr[0]; 
 
    
 
    for (var i = 1; i < arr.length; i++) { 
 
    var item = {}; 
 
    item[keys[0]] = arr[i][0]; 
 
    item[keys[1]] = arr[i][1]; 
 
    item[keys[2]] = arr[i][2]; 
 
    result.push(item); 
 
    } 
 
    
 
    return result; 
 
} 
 

 
console.log(testConvert(arrayOfArrays));

関連する問題