javascript - 如何更改对象数组中数组中的每个值?

标签 javascript reactjs

基本上我有一个对象数组。每个对象都有一个数组,我需要更改它的值。

我正在使用 React,所以这是一个状态:

[
  {
    "points": [
      60,
      5,
      60,
      20,
      70,
      20,
      70,
      15
    ],
    "finished": true,
    "color": "#6292C6"
  },
  {
    "points": [
      80,
      15,
      80,
      25,
      90,
      25
    ],
    "finished": true,
    "color": "#3FD971"
  },
  {
    "cultureName": "",
    "points": [],
    "finished": false
  }
]

更改此状态的 points 值的最佳方法是什么?我需要将它们乘以一个因子 (4.96)。

最佳答案

map 你的数组,spread 它里面的每个对象只覆盖属性 points (map 乘以每个项目因数 4.96)

const data = [{id: 1, points: [1,2,3]}, {id: 2, points: []}]

const changedData = data.map(item =>({
    ...item,
    points : item.points.map(value => value * 4.96)
}))

console.log(changedData)

关于javascript - 如何更改对象数组中数组中的每个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58562864/

相关文章:

javascript - 为什么将foreignObject附加到SVG中会破坏jquery ui的调整大小?

javascript - 未捕获的范围错误 : Maximum call stack size exceeded

javascript - Reactjs无法打印id

javascript - 围绕样式的 IF 语句

javascript - --是否可以检测到用React点击的元素的ID?

reactjs - 最简单的 Typescript + React + WebPack 示例生成错误

javascript - 为什么我不能做 1.toString() 但我可以做 var a = 1; a.toString()

javascript - 页面之间的平滑过渡 - Reactjs

ios - 对于同一应用程序的 iOS 和 Web 客户端,我是否需要在 Spotify 开发者网站上使用两个不同的应用程序?

reactjs - React路由如何导入本地scss文件仅适用于一个js文件?