VBが恋しいです。悲しいことなのかな…
次のデータを表す「3 次元」配列を作成する必要があります。データは XML として始まり、次のように 2D の「配列の配列」に解析されます (わかりやすくするために記述子が追加されています)。
[NodeArray]
[Node: 0][Year: 2012][Quantity1: 3][Quantity2: 5] [Title: Orange]
[Node: 1][Year: 2012][Quantity1: 5][Quantity2: 9] [Title: Apple]
[Node: 2][Year: 2011][Quantity1: 4][Quantity2: 9] [Title: Orange]
[Node: 3][Year: 2011][Quantity1: 8][Quantity2: 12] [Title: Apple]
[Node: 4][Year: 2010][Quantity1: 2][Quantity2: 6] [Title: Orange]
[Node: 5][Year: 2010][Quantity1: 10][Quantity2: 2] [Title: Apple]
次のように、この 2 次元配列を 3 次元オブジェクト配列に解析したいと考えています。
[Year Array]
[2012]
[Quantity1]: [3],[7]
[Quantity2]: [5],[9]
[Title]: [Orange],[Apple]
[2011]
[Quantity1]: [4],[8]
[Quantity2]: [9],[12]
[Title]: [Orange],[Apple]
[2010]
[Quantity1]: [2],[10]
[Quantity2]: [6],[2]
[Title]: [Orange],[Apple]
VB では、これは非常に単純でした。元のデータを見て、各次元のエントリの最大数に対応するように配列を再次元化します。次に、データを反復処理してロードします...
2012 年のインデックス = 0 の場合、"Array(0,1,1)" は "9" を返します。
これは JSON で実行できると思いますが、その方法を知るには十分な経験がありません。この質問が、私が達成しようとしていることについての洞察を提供するのに十分具体的であることを願っています.
------------------編集と新しいコード-----------------
回答ありがとうございます。
現時点での私の致命的な欠陥は、JSON を使用して 2 次元配列を構築していないことです (私の例はそのように見えますが)。2次元配列を構築するために私が使用している方法は次のとおりです。
for(i=0; i<titleArray.length; i++)
{
rowArray[i] = [yearArray[i], titleArray[i],quantityOneArray[i],quantityTwoArray[i]];
}
各配列には常に同じ数のエントリがあるため、1 つの配列の長さを確実に使用して、関連するすべての配列を反復処理できます。また、「i++」の使用は中学生のやり方であることも認識しているため、より洗練されたインデックス作成方法に関する提案を歓迎します。
しかし、これを JSON で構築したいとしましょう。これはまだ JSON 形式ではないと確信しています... もしそうなら、「rowArray[i].year」と言えますか?
改めて感謝します。このような活発なコミュニティを持つことができて、とても幸運です。
--------------------EDIT2 & 新しいコード--------------------
わかりました、JSON ナットをクラックしたと思います。いいね!配列オブジェクトのフォーマットを少し変えるだけで、.whatever プロパティを使用して配列のメンバーを呼び出せるようになりました。
for(i=0; i<titleArray.length; i++)
{
rowArray[i] = {"year":yearArray[i], "title":titleArray[i],"quantity1":quantityOneArray[i],"quantity2":quantityTwoArray[i]};
console.log("rowArray["+i+"]: " + rowArray[i].year + ", " + rowArray[i].title +", "+rowArray[i].quantity1+", "+rowArray[i].quantity2);
}
3次元配列について...