Lodash变换不变换对象

时间:2017-10-24 20:04:54

标签: javascript lodash

我做错了什么,看不到。我的目标是更新返回的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})
    }
  })

1 个答案:

答案 0 :(得分:3)

很抱歉,如果我错了,但我认为lodash的转换返回新的对象/数组,它不会修改你迭代的那些。无论你在变换中更改了多少数据变量,除非你在变换完成后重新赋值,否则它不会改变。