あなたはほとんどうまくいっていますが、親はオブジェクトの配列でなければ意味がありません。
var array = [
[
['name', 'John Smith'],
['age', 34],
['occupation', 'nurse']
],
[
['name', 'Nico Klein'],
['age', 24],
['occupation', 'engineer']
]
];
function toObject(arr) {
var obj = [];
for (var j = 0; j < arr.length; j++) {
var cur = {};
for (var i = 0; i < arr[j].length; i++) {
cur[arr[j][i][0]] = arr[j][i][1];
}
obj.push(cur);
}
return obj;
}
var result = toObject(array);
console.log(result);
出力の順になります。
[
{
"name": "John Smith",
"age": 34,
"occupation": "nurse"
},
{
"name": "Nico Klein",
"age": 24,
"occupation": "engineer"
}
]
そして、それは元の配列からすべてのレコードを持っています。結果の配列をオブジェクトに変換する場合は、Convert Array to Objectをご覧ください。
var array = [
[
['name', 'John Smith'],
['age', 34],
['occupation', 'nurse']
],
[
['name', 'Nico Klein'],
['age', 24],
['occupation', 'engineer']
]
];
function toObject(arr) {
var obj = [];
for (var j = 0; j < arr.length; j++) {
var cur = {};
for (var i = 0; i < arr[j].length; i++) {
cur[arr[j][i][0]] = arr[j][i][1];
}
obj.push(cur);
}
return obj;
}
var result = toObject(array);
var resObj = result.reduce(function(acc, cur, i) {
acc[i] = cur;
return acc;
}, {});
console.log(resObj);
最終オブジェクトの出力はあなたを与える:あなたので、あなたがその配列は、「オブジェクトの配列」に変換しようとする必要があり、すべての
{
"0": {
"name": "John Smith",
"age": 34,
"occupation": "nurse"
},
"1": {
"name": "Nico Klein",
"age": 24,
"occupation": "engineer"
}
}
を次のように単一のオブジェクトを作成するために合理的ないないよう機能を変更するオブジェクトの配列でなければなりません値割り当てる
var obj = {};
を作成しているあなたのコードを見てくださいそのデータからオブジェクトの配列がより理にかなっています。 –まあ...各第3レベルのペアは名前、年齢、職業を持っています...もちろん、あなたは最後のものだけを取得します...オブジェクトの配列はオブジェクトではなく最終出力として必要です。それぞれの "人"に他の "キー"を使用し、その中にオブジェクト " –
"があるのは 'arr [j] [i] [0]'はそれぞれの反復で同じ値なので、 。たとえば、 'name'の場合、' obj.name = 'John Smith''、 'obj.name =' Nico Klein'です。 –