Вызов функции al oop - что мне не хватает? - PullRequest
0 голосов
/ 02 августа 2020

Итак, у меня есть функция внутри объекта, которая выбирает одно из 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 раз в один раз. поэтому я хочу просто запустить его на хорошем чистом l oop. Итак, у меня есть это:

            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 в l oop, ничего из этого не работает. Должно быть, мне не хватает чего-то очень маленького. Так что здесь?

1 Ответ

2 голосов
/ 02 августа 2020

muscle var ссылается на группу мышц, вы можете использовать его для индексации в work

work.lift(4, work[muscle])

См. аксессоры свойств

...