Я использую jQuery 1.7.1 (но это, вероятно, не имеет значения).Как использовать массивы доступа динамически?
У меня есть несколько массивов JavaScript, которые заполнены несколькими способами. Массивы, в основном, выглядят следующим образом:
var TreeArray = [0,1,2];
var FruitArray = [4,5,6,7];
У меня есть некоторые ссылки, которые имеют тип элемента и идентификатор товара:
<a href='?' class='Link' data-itemid='123' data-itemtype='Tree'>elm</a>
<a href='?' class='Link' data-itemid='789' data-itemtype='Tree'>walnut</a>
<a href='?' class='Link' data-itemid='456' data-itemtype='Fruit'>orange</a>
<a href='?' class='Link' data-itemid='111' data-itemtype='Fruit'>apple</a>
При щелчке на ссылке, то ItemType и ItemID собраны и передан функции addToArray():
$Links.click(function(e) {
e.preventDefault();
var ItemType = $(this).data("itemtype");
var ItemID = $(this).data("itemid");
addToArray(ItemType, ItemID);
});
Вот где проблема. Если ItemType является «Tree», я хочу поместить ItemID в TreeArray. Если ItemType - «Fruit», я хочу поместить ItemID в FruitArray. Вот моя функция (которая не работает):
var addToArray = function addToArray(ItemType, ItemID) {
var WhichArray = ItemType + "Array";
WhichArray.push[ItemID];
}
у меня будет довольно много различных типов массивов, а не только два. У меня будет довольно много функций.
Итак, как я могу получить доступ к этим массивам динамически?
«что не работает» - почему это не работает? – ninjagecko
'data = itemid = '123'' не должно быть' data-itemid =' 123''? – wong2
не то, что он является источником ошибки, но 'WhatArray.push [ItemID];' должен быть 'WhatArray.push (ItemID);'. – jbabey