繁体   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