Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更改对象数组中数组中的每个值?_Javascript_Reactjs - Fatal编程技术网

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

Javascript 如何更改对象数组中数组中的每个值?,javascript,reactjs,Javascript,Reactjs,基本上我有一个对象数组。每个对象都有一个数组,我需要更改该数组的值 我使用的是React,所以这是一种状态: [ { "points": [ 60, 5, 60, 20, 70, 20, 70, 15 ], "finished": true, "color": "#6292C6" }, { "points": [ 80, 15

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

我使用的是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
  }
]

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

map
你的数组,
扩散
其中的每个对象只覆盖属性
map
将每个项目乘以因子
4.96

const data=[{id:1,点:[1,2,3]},{id:2,点:[]}]
const changedData=data.map(项=>({
…项目,
点:item.points.map(值=>value*4.96)
}))

console.log(changedData)
映射
您的数组,
分布
其中的每个对象只覆盖属性
映射
将每个项乘以系数
4.96

const data=[{id:1,点:[1,2,3]},{id:2,点:[]}]
const changedData=data.map(项=>({
…项目,
点:item.points.map(值=>value*4.96)
}))
console.log(changedData)
const factor=4.96
常量arrayOfObject=[]/。。这里是您的对象数组
constModifiedArrayOfObject=arrayOfObject.map(统计数据=>{
const newPoints=stats.points.map(point=>point*factor)
stats.points=newPoints
返回数据
}
在这里,我创建了一个新的对象数组,其中我将每个对象映射到一个对象,其中每个点都乘以您的因子。

const factor=4.96
const arrayOfObject=[]/…这里是您的对象数组
constModifiedArrayOfObject=arrayOfObject.map(统计数据=>{
const newPoints=stats.points.map(point=>point*factor)
stats.points=newPoints
返回数据
}
在这里,我创建了一个新的对象数组,将每个对象映射到一个对象,其中每个点都已乘以您的因子。

使用嵌套贴图

const myData=[
{“点”:[60,5,60,20,70,20,70,15],“完成”:真,“颜色”:“#6292C6”},
{“点”:[80,15,80,25,90,25],“完成”:真,“颜色”:“#3FD971”},
{“cultureName”:“”“points”:[],“finished”:false}
]
const newArray=myData.map(elm=>{
常量点=elm.points.map(点=>点*4.96)
返回{…elm,points}
})
console.log(newArray)
使用嵌套映射

const myData=[
{“点”:[60,5,60,20,70,20,70,15],“完成”:真,“颜色”:“#6292C6”},
{“点”:[80,15,80,25,90,25],“完成”:真,“颜色”:“#3FD971”},
{“cultureName”:“”“points”:[],“finished”:false}
]
const newArray=myData.map(elm=>{
常量点=elm.points.map(点=>点*4.96)
返回{…elm,points}
})
console.log(newArray)