共通のプロパティ名を共有するオブジェクトの配列がありますが、値は異なります。例えば、彼らはこのように行く:私のデータセット内の各オブジェクトが含まれてなるようにオブジェクトのキーと値を反復して新しいオブジェクトを返す
let datasets = [
{
label: "value1",
data: ["11:00", "12:00", "13:00"]
},
{
label: "value2",
data: [0.737462,0.894368,1.140516,]
}
// and so on
]
:これらのオブジェクトから
let data = [
{
value1: "11:00",
value2: 0.737462,
value3: 1.345341,
value4: 0.684655
},
{
value1: "12:00",
value2: 0.894368,
value3: 1.55891,
value4: 0.784655
},
{
value1: "13:00",
value2: 1.140516,
value3: 1.938695,
value4: 0.454655
}
]
、私は次のようにオブジェクトの新しい配列を形成する必要があります元のオブジェクトのプロパティ名は、label
の値であり、その名前に対応するプロパティの配列です。私はこのようにそれを行うにしようとしました:
let datasets = data.map((n) => {
for (i in n) {
return {
label: i,
data: data.map(obj => obj[i])
}
}
});
しかし、期待どおりに動作しません - それはそれらすべての全体のラベルとしてのみ最初のプロパティ名とオブジェクトの配列だけを返します。私はそれがfor...in
ループの最初の項目に入るとすぐに戻りますが、私は必要なものを達成するためのよりよい方法を見つけ出すことができないからです。
注:このような場合に動作します。https://jsfiddle.net/Lg0wyt9u/2593/ –