我做错了什么,看不到。我的目标是更新返回的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的转换会返回新的对象/数组,它不会修改您迭代的对象/数组。不管在转换中更改数据变量多少,都不会更改,除非在转换完成后重新分配它。

关于javascript - Lodash变换不变换对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46919133/

10-11 22:34
查看更多