私はアルゴリズムを使ってオブジェクトを配列に変換しています。最後に変換されたオブジェクトが配列内の前のオブジェクトを上書きするとき。これはループ内の配列にオブジェクトを追加するとオブジェクトが上書きされます
[
{firstName: "Mary", lastName: "Jenkins", age: 36, role: "manager"},
{firstName: "Mary", lastName: "Jenkins", age: 36, role: "manager"}
];
私がログインすると
[
{firstName: "Joe", lastName: "Blow", age: 42, role: "clerk"}
{firstName: "Mary", lastName: "Jenkins", age: 36, role: "manager"}
];
代わりの取得:
let array = [
[
['firstName', 'Joe'], ['lastName', 'Blow'], ['age', 42], ['role', 'clerk']
],
[
['firstName', 'Mary'], ['lastName', 'Jenkins'], ['age', 36], ['role', 'manager']
]
];
function transformEmployeeData(array) {
let obj = {};
for(let i in array) {
for(let j in array[i]) {
obj[array[i][j][0]] = array[i][j][1];
}
array.splice(i,1,obj);
}
return array;
}
let run = transformEmployeeData(array);
私は出力として、この結果を得るために期待しています:
この
は私のコードですobj、私は期待される結果を得る。配列に追加すると、前の結果が上書きされます。
デュープターゲットを参照してくださいを操作しないようにしてください。メソッドの1つのレベルをネストする必要があるのは、オブジェクトの配列が必要なためです。 – Cerbrus