【问题标题】:javascript creating data object from 2 arrays [closed]javascript从2个数组创建数据对象[关闭]
【发布时间】:2021-10-26 15:29:01
【问题描述】:

我已经在 js 中设置了 2 个数组:

变量深度:

[0.5, 1.75, 2.38, 2.74, 2.89]

varMins:

[0, 1, 2, 3, 4]

我正在寻找一个要推送的对象 (chartData1),这是数组的格式:

chartData1.push({'x': varDepth[i][0], 'y': varMins[i][1]});

但我无法让它工作,我想我错过了对象的设置,任何帮助将不胜感激。谢谢!

【问题讨论】:

  • 请添加想要的结果。
  • 你说charData1是一个对象……你是说数组还是键值对象?你的两个数组都是一维的,所以偏移没有意义。
  • 您能否详细说明为什么您尝试访问varDepthvarMins,就好像它们是多维数组一样?要么您对 JavaScript 中的数组的理解存在缺陷,要么您没有充分表示脚本中实际存在的数据。
  • edit your post 将该信息显示为您的代码尝试的minimal reproducible example,具有语法上有效的输入和预期/实际输出。
  • varDepth.map((x, i) => ({x, y: varMins[i]}))?

标签: javascript arrays object push


【解决方案1】:

由于您试图创建多个对象,这些对象的数据来自两个数组中的相同索引;你可以;

  1. 循环遍历其中一个数组(我使用的是map(),因此我们可以将创建的对象返回到数组中)
  2. 为新对象添加价值
  3. 在同一索引上添加另一个数组的值

const depths = [ 0.5, 1.75, 2.38, 2.74, 2.89 ];
const mins = [ 0, 1, 2, 3, 4 ];

let result = depths.map((depth, index) => ({ x: depth, y: mins[index]}))
console.log(result);
[
  {
    "x": 0.5,
    "y": 0
  },
  {
    "x": 1.75,
    "y": 1
  },
  {
    "x": 2.38,
    "y": 2
  },
  {
    "x": 2.74,
    "y": 3
  },
  {
    "x": 2.89,
    "y": 4
  }
]

【讨论】:

  • 谢谢 0stone0 - 太棒了...
猜你喜欢
  • 2018-08-20
  • 2019-09-23
  • 2022-12-15
  • 2020-12-30
  • 1970-01-01
  • 1970-01-01
  • 2015-03-05
  • 2019-04-08
  • 2021-07-12
相关资源
最近更新 更多