Преобразование Лодаша не трансформирующий объект

1

Я делаю что-то неправильно и не вижу этого. Моя цель - обновить значение данных в моей возвращенной коллекции вызовов ajax. Я использую _.transform. Я вижу обновление данных в консоли, но объект не преобразуется как результат метода lodash. Я уверен, что я слишком много думаю. Любое понимание было бы замечательным

.then(response => {
    if(response.data){
      var arr = response.data;
      arr.forEach(data =>
        _.transform(data, (item, val, key) => {
          if(/(date)/i.test(key)){
            val = moment(val, 'YYYY-MM-DD HH:mm Z').format("DD/MM/YYYY hh:mm a");
            item[key] = val;
            console.log('data test ', item[key]);
          }
        }, {}))
      self.setState({tableData: response.data._embedded.organizations})
    }
  })
Теги:
lodash

1 ответ

3

Извините, если я ошибаюсь, но я думаю, что lodash transform возвращает новые объекты/массивы, он не изменяет те, которые вы перебираете. Неважно, насколько вы изменяете переменную данных внутри преобразования, она не изменится, если вы не переустановите ее после завершения преобразования.

  • 0
    Это также лишь незначительно трансформирует объект. ОП хочет глубокое преобразование.
  • 0
    поэтому, если я устанавливаю новое назначение для преобразования, это должен быть вновь возвращаемый объект / массив. Я попробую это

Ещё вопросы

Сообщество Overcoder
Наверх
Меню