js 連想配列の中に連想配列を組み込みたい
2012/05/27
やりたいこと
- var KushiAry = [
- {name: "ねぎ間",price: 168},
- {name: "ハツ",price: 136},
- {name: "丸ごとシマウマ", price: 290}
- ];
- var TasteAry = [
- {name: "ねぎ間", taste: "味噌"},
- {name: "ねぎ間", taste: "ポン酢"},
- {name: "ハツ", taste: "塩"},
- {name: "丸ごとシマウマ", taste: "塩"},
- {name: "丸ごとシマウマ", taste: "たれ"},
- {name: "丸ごとシマウマ", taste: "味噌"},
- {name: "丸ごとシマウマ", taste: "ポン酢"},
- {name: "丸ごとシマウマ", taste: "芥子"}
- ];
上記を下記のようにしたい。
- var KushiAry = [
- {
- name: "ねぎ間",
- price: 168,
- Taste: [
- {name: "ねぎ間", taste: "味噌"},
- {name: "ねぎ間", taste: "ポン酢"}
- ]
- },
- {
- name: "ハツ",
- price: 136,
- Taste: [
- {name: "ハツ", taste: "塩"}]
- },
- {
- name: "丸ごとシマウマ",
- price: 290,
- Taste: [
- {name: "丸ごとシマウマ", taste: "塩"},
- {name: "丸ごとシマウマ", taste: "たれ"},
- {name: "丸ごとシマウマ", taste: "味噌"},
- {name: "丸ごとシマウマ", taste: "ポン酢"},
- {name: "丸ごとシマウマ", taste: "芥子"}
- ]
- }
- ];
※KushiAry[0][“Taste”][“name”]は不要ではあるけど、現状、削除する必要もないので取りあえずいれておく。
やったこと
- // KushiAryの中にTasteAryを組み込んでいく
- for (i=0; i<KushiAry.length; i++)
- {
- k = 0;
- // Tasteを作成しておく。
- KushiAry[i]["Taste"] = new Array();
- for (j=0; j<TasteAry.length; j++)
- {
- if (KushiAry[i]["name"] == TasteAry[j]["name"])
- {
- KushiAry[i]["Taste"][k] = TasteAry[j];
- k++;
- }
- }
- }