使用空格键随机选择数组数据

时间:2016-12-02 02:56:45

标签: arrays meteor random spacebars

我正在使用空格键来生成流行测验风格的表单。以下代码正确显示测验数组中第3项的详细信息

{{#with quiz.[2]}}
    <form class="testForm">
        <br>
        {{question}}<br>
        {{#each answer}}
        <input type="radio" name="multipleChoice" value={{this}}>{{this}}<br>
        {{/each}}
        <br>
        <input type="submit" value="Submit"> 
        <br><br><br>
    </form>
{{/with}}

并且以下辅助函数正确地从测验数组中的项目数生成一个随机数

Template.templateName.helpers({
  randomNumber() {
    return _.random(0, (this.quiz.length - 1));
  }
});

现在我要做的就是获取

{{#with quiz.[2]}}

使用该随机数生成器随机显示测验。从逻辑上讲,我想做一些像

这样的事情
{{#with quiz.[randomNumber]}}

但这显然不起作用

1 个答案:

答案 0 :(得分:1)

稍微调整一下助手,返回quiz数组的随机元素,而不是随机数本身:

Template.templateName.helpers({
  randomElement(array) {
    return array && array[_.random(0, (array.length - 1))];
  }
});

然后只需将其称为:{{#with randomElement quiz}}