【问题标题】:how to loop over array of objects and get values from object- ES6如何遍历对象数组并从对象中获取值-ES6
【发布时间】:2019-10-22 17:53:33
【问题描述】:

我需要循环这个并将它添加到表单数据中。

"SHOCKS" = [{
  $type: "Scenar",
  CCY_PAIR: "GBPUSD",
  D0: 0.3,
  D1: 0.3,
  …
}, {
  $type: "Scenar",
  CCY_PAIR: "KRWUSD",
  D0: 0.3,
  D1: 0.3,
  …
}, {
  $type: "Scenar",
  CCY_PAIR: "AUDJPY",
  D0: 0.08,
  D1: 0.08,
  …
} {
  $type: "Scenar",
  CCY_PAIR: "AUDKRW",
  D0: 0.08,
  D1: 0.08,
  …
}, {
  $type: "Scenar",
  CCY_PAIR: "AUDMXN",
  D0: 0.08,
  D1: 0.08,
  …
}],

我正在做如下。

let FxShock = FxList["FXVOLBUMP"].SHOCKS;
let FxShocksAll1 = Object.entries(FxShock).forEach(([key, value]) => console.log(`${key}: ${value}`));

但我收到的是undefined

【问题讨论】:

  • 欢迎来到 Stack Overflow。我可以建议您花一些时间来构建您的问题,以便清楚您在寻求帮助吗?将您的代码格式化为代码块将有助于每个人的理解。我建议阅读“我如何提出一个好问题?”导游:stackoverflow.com/help/how-to-ask
  • “我得到未定义”是什么意思?您是否在 console.log 语句中看到未定义?还是您指的是FxShocksAll1 将未定义的事实?这是意料之中的,因为.forEach(...) 返回undefined
  • "我需要 [...] 将其添加到表单数据中。" - 您的 FormData 对象在代码中的位置,以及您是如何尝试向其中添加内容的?

标签: javascript ecmascript-6 foreach


【解决方案1】:

遍历数组,然后遍历每个对象的键->值对:

let SHOCKS = [{
  $type: "Scenar",
  CCY_PAIR: "GBPUSD",
  D0: 0.3,
  D1: 0.3,
}, {
  $type: "Scenar",
  CCY_PAIR: "KRWUSD",
  D0: 0.3,
  D1: 0.3,
}, {
  $type: "Scenar",
  CCY_PAIR: "AUDJPY",
  D0: 0.08,
  D1: 0.08,
}, {
  $type: "Scenar",
  CCY_PAIR: "AUDKRW",
  D0: 0.08,
  D1: 0.08,

}, {
  $type: "Scenar",
  CCY_PAIR: "AUDMXN",
  D0: 0.08,
  D1: 0.08,

}];


SHOCKS.forEach((obj, idx) => {
  console.log("object " + (idx + 1));
  for (var key in obj) {
    if (obj.hasOwnProperty(key)) {
      console.log(key + " -> " + obj[key]);
    }
  }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-21
    • 1970-01-01
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多