Javascript 如何在模板中对数组中的元素进行分组

Javascript 如何在模板中对数组中的元素进行分组,javascript,meteor,each,meteor-blaze,Javascript,Meteor,Each,Meteor Blaze,确切地说,我有一个14个元素的数组,我想在模板中显示它们。我在使用{{{each tasks}},但是我想在前端将元素分组,这样我就可以将task1和task2分组到div中,然后在另一个div中分组到3和4,依此类推 {{#each tasks}} <div class="task-group"> {{task 1}} {{task 2}} </div> {{/endeach}} {{#每个任务} {{task 1}} {{任务2}} {{/end

确切地说,我有一个14个元素的数组,我想在模板中显示它们。我在使用
{{{each tasks}}
,但是我想在前端将元素分组,这样我就可以将
task1
task2
分组到
div
中,然后在另一个div中分组到
3和4
,依此类推

{{#each tasks}}
  <div class="task-group">
   {{task 1}}
   {{task 2}}
  </div>
{{/endeach}}
{{#每个任务}
{{task 1}}
{{任务2}}
{{/endeach}

我怎样才能在《流星》中做到这一点。

我知道,要不是那些想做到这一点的人,这可能已经晚了。后来我从RubyonRails的经验中发现了这一点

首先,在您的助手中定义这样一个函数

splittedArray: function () {
    let items = Collection.find().fetch()
    let size = 2;
    let arrays = [];

    while (items.length > 0)
        arrays.push(items.splice(0, size));
    return arrays
}
其中,
size
是您想要在组中添加的项目数量

返回的值将是包含多个数组的数组

您现在可以在blaze模板中像下面这样简单地阅读

{{#each splittedArray}}
   {{#each this}}
      {{name}}
   {{/each}}
{{/each}} 

希望这有帮助

我认为您需要将控制器中的某个位置的此数组转换为具有组的数组。然后你可以很容易地进行双重迭代。啊,这很有帮助。我想你不知道用JavaScript做这件事的任何方法。你可以试试这个。但您需要处理这种情况,当元素数为奇数(或者最后一个元素未定义)时,函数groupedArr(arr){var res=[];for(var i=0;i