2014-12-11 3 views
0

Я искал и пробовал, но ничего не могу придумать.Многомерные массивы в javascript

Следующий код создает массив «ary_task_group». Мне нужно, чтобы второй массив «ary_task» находился под ключом ary_task_group. Это не должно быть трудным делом, но в javascript это кажется немного сложным.

$('.task-group-text').each(function(key, value) { 
    var taskGroup = $(this); 
    var taskGroupName = taskGroup.html(); 
    var grouped = taskGroupName.toLowerCase().replace(/\s/g,''); 
    ary_task_group[key]=taskGroupName; 

    //get the children for this group. 
    $(".group-container-"+grouped).find(".task-expand").each(function(task_key, task_value){ ary_task[task_key] = $(this).html() }); 
    console.log(ary_task); 
}); 

EDIT

Попытка создать объект:

var obj = {}; 
obj.group = []; 
obj.group = taskGroupName; 
obj.group_tasks = []; 
$(".group-container-"+grouped).find(".task-expand").each(
    function(task_key, task_value){ 
    //ary_task[task_key] = $(this).html() 
    obj.group_tasks.push[{task_key: $(this).html()}] 
}); 

Это приводит только последний элемент в объекте. Я знаю, что делаю эту часть неправильно.

+2

Создать объект для этого. – vaso123

+5

В массиве нет «ключей», все индексы основаны на '[1,2,3]' - у объекта есть ключи '{name:" ted "}'. – tymeJV

+0

Почему вы используете этот объект obj.group = taskGroupName; –

ответ

0

Да, создание объекта было способом пойти явно. Вот мой код, в который я попал.

$('.task-group-text').each(function(key, value) { 
    var taskGroup = $(this); 
    var taskGroupName = taskGroup.html(); 
    var grouped = taskGroupName.toLowerCase().replace(/\s/g,''); 
    ary_task_group[key]=taskGroupName; 

    //get the children for this group. 
    var ary_task = []; 
    $(".group-container-"+grouped).find(".task-expand").each(
     function(task_key, task_value){ 
      ary_task.push($(this).html()) 
     } 
    ); 
    obj[taskGroupName] = { 
     ary_task 
    }; 

}); 

Какие результаты в:

Array 
    (
     [Group 2] => Array 
      (
       [ary_task] => Array 
        (
         [0] => Test task group 2 
        ) 

      ) 

     [Group 777] => Array 
      (
       [ary_task] => Array 
        (
         [0] => Funny Face 
         [1] => Test Task group 1 
        ) 

      ) 

    ) 
Смежные вопросы