簡體   English   中英

如何將數據添加到 json object 內的嵌套數組

[英]How to add data to an nested array inside a json object

我的 state object 看起來像這樣:

const [result,setResult] = useState({
  series: [
      {
          name: 'Budget',
          data: [5000, 3000, 5000, 7000, 6000, 4000]
      },
      {
          name: 'Income',
          data: [8000, 1000, 7000, 2000, 5000, 3000]
      }
  ]
})

現在我想append 一些數據到第一個series中的data數組object

{
   name: 'Budget',
   data: [5000, 3000, 5000, 7000, 6000, 4000]
}

我嘗試這樣做:

function addNumber(){
  setResult([...result.series[0].data,45]) 
}

但它不起作用。 有什么建議或解決方案嗎?

最好使用不可變 js 來更新嵌套數據,您可以使用 immutableJs 這樣做:

setResult(immutable.setIn(result, ['series', 0, 'data'], result.series[0].data.concat(45)))

或者

setResult(immutable.updateIn(result, ['series', 0, 'data'], array => array.concat(45)))

指向不可變 js 文檔https://immutable-js.github.io/immutable-js/docs/#/的鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM