如何向数组中的所有对象添加属性并动态设置其值。-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
}
})