キーと値のペアを作成するループがあります。ステートメントの1つは、ループ中に複数のペアを作成するという、私が望むことを行います。他のステートメントが機能しない理由について混乱しています。動作するコード:
chart[2][ITEMNAME] = new Array("Gonzo", "Kermit", "Piggy", "Rowlf", "Big Bird", "Elmo");
var hashmap=[];////Create hashmap and dump array values
for (var each in chart){
hashmap[each]={};
for (var eachITEM in chart[each][ITEMNAME]){
hashmap[each][chart[each][ITEMNAME][eachITEM]] = chart[each][DATA][eachITEM];
}
}
動作しないコード - [chart[each][ITEMNAME][eachITEM]] を別の文字列に置き換えるだけでした。私が気付いた動作は、オブジェクトにペアを追加するのではなく、すべての値を最後の要素に置き換えることです。
chart[2][ITEMNAME] = new Array("Gonzo", "Kermit", "Piggy", "Rowlf", "Big Bird", "Elmo");
var hashmap=[];////Create hashmap and dump array values
for (var each in chart){
hashmap[each]={};
for (var eachITEM in chart[each][ITEMNAME]){
hashmap[each]["name"] = chart[each][DATA][eachITEM];
// hashmap[each][chart[each][ITEMNAME][eachITEM]] = chart[each][DATA][eachITEM];
}
}
これは、オブジェクトの完全な配列のオブジェクトの 1 つです。
var chart = new Array();
chart[0] = new Array();
chart[0][LEGEND] = "Widget Production";
chart[0][ITEMNAME] = new Array("Big Widgets", "Little Widgets", "Medium Widgets", "Microwidgets");
chart[0][DATA] = new Array(30,50,100,25);
chart[0][COLORS] = new Array("lightblue","orange","red","lightgreen");
私がやろうとしているのは、配列を DATA & COLORS に揃えたまま、ITEMENAME の要素をアルファベット順に並べることです。