2017-10-24 23 views
1

私は間違ったことをしており、それを見ることはできません。私の目標は、返されたajaxコール・コレクションのデータ値を更新することです。私は_.transformを使用しています。コンソールでデータの更新を見ることができますが、オブジェクトはlodashメソッドの出力として変換されません。私は何かを思っています。私は間違っているが、私はlodashさんが戻って新しいオブジェクト/配列を変換すると思えば、任意の洞察力がオブジェクトを変換しない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}) 
    } 
    }) 

答えて

3

申し訳素晴らしいことだ、それはあなたが反復処理のものは変更されません。トランスフォーム内のデータ変数をどれだけ変更するかは関係ありません。トランスフォームが終了したときに再割り当てしない限り変更されません。

+0

また、オブジェクトを浅く変換するだけです。 OPは深い変換を望んでいます。 – Brandon

+0

したがって、変換に新しい割り当てを設定した場合、それは新しく返されたオブジェクト/配列でなければなりません。私はそれを試してみる –

関連する問題