Пройдите в структуре правильно (js) - PullRequest
0 голосов
/ 26 марта 2020

Столкнулся с некоторой проблемой при правильной передаче данных в структуру

Это структура

enter image description here

И вот как я передаю

var dates = require('dates');

module.exports.function = function getStart() {
  var optionList = [
  {option : "Latest headlines"},
  {option : "Latest news"},
  {option : "Top headlines"},
  {option : "Top news"}
]
  var currentTimeHour = dates.ZonedDateTime.getHour
  var timePeriod = "";

  if (currentTimeHour == 0 && currentTimeHour <= 12) {
    timePeriod = "M"//Morning
  } else if (currentTimeHour >= 13 && currentTimeHour <= 20) {
    timePeriod = "A"//Afternoon
  } else if (currentTimeHour <=23){
    timePeriod = "N"//Night
  }else {
    timePeriod = null
  }

  var menu = {};

  optionList.option.forEach(function(value,index,array){
    menu[index] = {
      whatuserwant : optionList[index],
      timePeriod : timePeriod
    }

  });

  return menu

}

И выскакивает ошибка

enter image description here

Где я ошибся,

И для дополнительного вопроса , правильно ли написано условие if-else для currentTimeHour?

С уважением.

1 Ответ

2 голосов
/ 26 марта 2020

forEach определено для массивов, где optionList.option не является массивом.

Попробуйте использовать только optionList

optionList.forEach(function(value,index,array){
        menu[index] = {
          whatuserwant : value.option,
          timePeriod : timePeriod
        }
      });
...