Извините за неопределенное название - я не уверен, как еще я мог бы описать.Как я могу копировать функции в зависимости от переменной?
Вот сценарий: У меня есть тонны if
заявлений пытаются сделать что-то вроде кода ниже:
var wv == today.getDate();
if(wv == 0){
wv0.forEach(function(entry, index)...
if(wv == 1){
wv1.forEach(function(entry, index)...
if(wv == 2){
wv2.forEach(function(entry, index)...
Проблема заключается в том, что все, что приходит после wvX.forEach
является одинаковым для каждого блока кода. Таким образом, я знаю, что это может быть сжато, но я не знаю, как это сделать.
То, что я пытался делать это определение новую переменную, которая дала бы мне wvX
число в зависимости от дня, что это:
var daycode = 'wv' + getDate();
Теперь это дает мне его (так что сегодня, в воскресенье, он вернется wv0
, но когда я пытаюсь конденсироваться выше примерно так:
if (wv == 0)
daycode.forEach(function(entry, index)...
даже это не работает, я знаю, что это будет работать только для wv == 0
или воскресенье, но он по-прежнему не работает. Однако
if (wv == 0)
wv0.forEach(function(entry, index)...
все еще работает, даже если это то же самое, что и блок кода над ним, как daycode = wv0
.
Редактировать: поэтому я только что понял. Вероятно, потому, что daycode
рассматривается как переменная. Например, хотя wv0.length
возвращает 1
, daycode.length
возвращает 3
, поскольку значение daycode
составляет wv0
, а длина wv0
- это три. Как же тогда я могу это сделать?
Откуда берутся значения в 'wv0',' wv1', ...? Дальше «тонна заявлений» звучит тревожно для меня, вы должны изменить это (может быть, ответ может направить вас). Что такое код после тех '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''} '' '' '' '' '' '' - Каковы петли, которые делают внутри? –
вы можете использовать только массив для функций 'wv0, wv1' и т. Д., И просто получить его по индексу – Grundy