У меня есть следующая строка:
Panther ^ розовый, зеленый, желтый | Собака ^ Горячая, Top
Эта строка означает, что у меня есть 2 основных блока (разделенных '|'):
"Пантера" и "Собака"
Под этими двумя основными блоками у меня, скажем, «подкатегории».
Я хотел создать двумерный массив, представленный (в логике) следующим образом:
Пантера (Массив 1) => Розовый (Элемент 1), Зеленый (Элемент 2), Желтый (Элемент 3)
Dog (Array 2) => Hot (Элемент 1), Top (Элемент 2)
Кроме того, я хочу иметь возможность добавить основной блок, скажем, «Cat» с возможными категориями «Cute, Proud» в двумерный массив
Мне удалось получить массив, содержащий «Panther ^ Pink, Green, Yellow» и «Dog ^ Hot, Top» с помощью функции разделения JavaScript.
Обратите внимание, что эта строка принимается через Ajax и может иметь любую длину, хотя всегда используется формат, показанный выше.
----------------------------- РЕДАКТИРОВАТЬ ----------------- -----------
Хорошо, мой сценарий таков:
$(document).ready(function(){
appFunc.setNoOfAppBlock('Panther^Pink,Green,Yellow|Dog^Hot,Top');
appFunc.alertPing();
});
var appFunc = (function(stringWithSeper) {
var result = {},
i,
categories = new Array(),
subcategories;
return {
setNoOfAppBlock: function(stringWithSeper){
categories = stringWithSeper.split("|");
for (i = 0; i < categories.length; i++) {
subcategories = categories[i].split("^");
result[subcategories[0]] = subcategories[1].split(",");
}
},
alertPing: function(){
alert(result["Panther"][1]);
}
};
})();
Однако функция «alertPing» ничего не «предупреждает». Что я делаю не так?