如何向数组中的所有对象添加属性并动态设置其值。-Javascript

如何向数组中的所有对象添加属性并动态设置其值。-Javascript,javascript,Javascript,我有一个对象数组,我想给每个对象添加一个Object类型的道具,只是字段的值是动态的 var data= [ { name:"Jan", y:0 }, { name:"Feb", y: 71.5 }, { name: "Mar", y:106.4 }, { name: "Apr", y:106.4 }, { name: "May", y:0 },

我有一个对象数组,我想给每个对象添加一个
Object
类型的道具,只是字段的值是动态的

var data= [
              { name:"Jan", y:0 },
              { name:"Feb", y: 71.5 },
              { name: "Mar", y:106.4 },
              { name: "Apr", y:106.4 },
              { name: "May", y:0 },
              { name: "Jun", y:106.4 },
              { name: "Jul", y:166.4 },
              { name: "Aug", y:36.4 },
              { name: "Sep", y:0 },
              { name: "Oct", y:26.4 },
              { name: "Nov", y:206.4 },
              { name: "Dec", y:92.4 }
            ]
现在我想给它添加一个道具。 //将道具添加到阵列中的第一项

data[0].plot = {rad: 1} 
我的问题是: 1) 如何将
“plot”
对象添加到数据中的每个项目 2)
rad
的值应与数据中的“y”值相对应 i、 e:如果
'y'的值=0,
(其在数据中的最小值),则“rad”值应为1, 类似地:
y=206.4
(其最大值),则
rad
应为10

介于0和206.4之间的“rad”值应与“y”值相对应,并介于1-10之间(这是“rad”范围)

我希望这是有道理的。如果需要,我会详细说明,
提前谢谢

您可以执行以下操作(请查看):


我认为这是将
y
转换为
rad
的正确公式。。。无论如何,原则是您可以通过对象循环并动态地将属性附加到每个对象。除了编程方面,你只需要找出正确的数学公式,然后把它放在那里计算出你需要的任何值。

你可以这样做(查看):


我认为这是将
y
转换为
rad
的正确公式。。。无论如何,原则是您可以通过对象循环并动态地将属性附加到每个对象。除了编程方面,你只需要找出正确的数学公式,然后把它放在那里,计算出你需要的任何值。

你试过循环吗?!你试过线圈吗?!
data.forEach(datum => {
  datum.plot = {
    rad: (10 * datum.y)/206.4 || 1
  }
})