Javascript 如何在模板中对数组中的元素进行分组
确切地说,我有一个14个元素的数组,我想在模板中显示它们。我在使用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
{{{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