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

标签 javascript

我有一个对象数组,我想向每个对象添加一个 Object 类型的 prop,只是该字段的值是动态的。

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 }
            ]

现在我想给它添加一个 Prop 。 //将 prop 添加到数组中的第一项。

data[0].plot = {rad: 1} 

我的问题是: 1)如何将 "plot" 对象添加到数据中的每个项目 2) rad 的值应该与数据中“y”的值相对应 即:如果 'y' 的值 =0,(数据中的最小值),则“rad”值应为 1, 类似地:y=206.4的值(其最大值),那么rad应该是10。

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

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

最佳答案

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

data.forEach(datum => {
  datum.plot = {
    rad: (10 * datum.y)/206.4 || 1
  }
})

我认为这是将 y 转换为 rad 的正确公式...无论如何,原理是您可以循环遍历对象并将属性附加到每个对象一个动态的。除了编程方面之外,您只需要找出正确的数学公式是什么,然后将其放在那里来计算您需要的任何值。

关于javascript - 如何向数组中的所有对象添加属性并动态设置其值。-Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44274211/

相关文章:

javascript - 提示计算器 jquery 不工作

javascript - 只从mysql数据库中获取最后一条记录

javascript - 创建没有签名的 JWT token ?

javascript - 我可以用 JSON 或类似的东西以某种方式保存循环数据结构吗?

javascript - 在 VueJS 中使用 prop 值作为变量

javascript - 当页面保存在 DOM 中时,如何使用开/关在 Jquery-Mobile 中正确解除绑定(bind)事件?

javascript - 如何使用 jQuery 删除类?

javascript - jQuery 延迟方法和 ajax beforeSend()

javascript - 如何在 for 循环中等待直到 ajax 调用完成

javascript - 安装 windows8 应用程序时会触发哪个事件?我想在安装应用程序时创建 indexdb 数据库