0

キーと値のペアを作成するループがあります。ステートメントの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 の要素をアルファベット順に並べることです。

4

0 に答える 0