0
下一个最低值,我有一个多维数组(JSON编码,所以现在仍然是正确的术语?)正从多维数组
{"tasks":[{"task":"first parent task", "sub-tasks":[{"sub-task":"first sub task", "startTime":0, "endTime":30}, {"sub-task":"second sub task", "startTime":65, "endTime":90}]}, {"task":"second parent task", "sub-tasks":[{"sub-task":"task 2 sub task 1", "startTime":35, "endTime":45},{"sub-task":"task 2 sub task 2", "startTime":95, "endTime":100}]}]}
我有一些JavaScript来获得当前的子任务我试图通过starttime获得下一个子任务,但由于某种原因,我只能在同一个父任务中获得下一个子任务。 所以我要找的输出为是
first parent task - first sub task -> nextTask = second parent task - task 2 sub task 1 -> nextTask = first parent task -> second sub task -> nextTask = second parent task - task 2 sub task 2
这里是我目前拥有的代码,但它只是给了我在同一阵列中的子任务。
for(var r=0;r<tasks.length;r++){ for (var i = 0; i<tasks[r].sub-tasks.length){ if(tasks[r].sub-tasks[i].startTime==currenttimer){ showTask(tasks[r].sub-tasks[i], tasks); } } } function showTask(current, tasks){ jQuery('div#currentTask').text(current.sub-task); var nextStep = current+200; // just to set the next beyond the length of all tasks for (var nt=0; nt<tasks.length; nt++){ for (var nst=0; nst<tasks[nt].sub-tasks.length; nt++){ if(tasks[nt].sub-tasks[nst].startTime<nextStep && tasks[nt].sub-tasks[nst].startTime>current.startTime){ jQuery('div#nextTask').text(tasks[nt].sub-tasks[nst].sub-task); } } } }
该代码只返回第一个父任务子任务,但我不知道为什么。有一个更好的方法吗?
为(VAR r处的初始...语句另一个循环在画布上绘制内运行,所以我跑了循环这种方式从更新DOM每秒以上的保持。
我宁愿不把startTime到一个单独的数组或类似的东西,因为我需要采取该数组,并参考原始json无论如何,它只是看起来像一个浪费。
不好意思再次回到这个mVChr,一直呆在地狱里。 – pedalpete 2010-12-19 20:39:05