首页 > 解决方案 > 调用循环的函数 - 我错过了什么?

问题描述

所以我在一个对象内部有一个函数,可以随机选择 4 个练习之一。

    this.lift = function (number, group) {
        const random = Math.floor(Math.random() * Math.floor(number));
        const pick = group[random]
        return pick
    }

然后我有一组对应于每个组的练习供它选择

 this.chest = ["Bench Press", "Incline Bench Press", "Weighted Dips", "Chest Fly"]
 this.back = ["Wide Grip Pulldown", "Close Grip Pulldown", "Barbell Row", "Seated/Supported Row"]

etc. etc. etc.

我可以单独调用该函数来为每个组选择一个练习,如下所示:

console.log(work.lift(4, work.chest))
console.log(work.lift(4, work.back))
etc. etc.

但这有点难看,它有时会一次调用这个函数 24 次以上。所以我想让它在一个干净的循环上运行。所以我有这个:

            const arnie = ["chest", "back", "delt", "bicep", "tricep", "quad", "ham", "core"]

            for (const muscle of arnie) {
                console.log(work.lift(4, whatgoeshere))
            }

然而我无法让它工作,尝试了 work.muscle,work.arnie[i] 在循环中使用 var i ,但都没有运行。我一定错过了一些非常小的东西。那么去哪儿呢?

标签: javascriptnode.jsfunctionloopsfor-loop

解决方案


var 引用了muscle肌肉群,你可以用它来索引work

work.lift(4, work[muscle])

查看属性访问器


推荐阅读