【问题标题】:How to split and get as a key value pair object in an array in Javascript [duplicate]如何在Javascript中拆分并获取数组中的键值对对象[重复]
【发布时间】:2020-05-19 05:48:35
【问题描述】:

首先我是 JS 的新手……现在我有一个数组,里面有一些奇怪的数据,如下所示;

var data = [

[21062,5000,0.1,0.2,0.3,0.4,0.5],

[21063,6000,0.11,0.21,0.32,0.45,0.51]

]

我需要为每个逗号分隔符创建一个键名及其值,并将其作为数组中的对象呈现

预期输出:

data: [
{"productId" : "21062",
 "amount" : "5000",
 "tax1" : "0.1",
 "tax2" : "0.2",
 "tax3" : "0.3",
 "tax4" : "0.4",
 "tax1" : "0.5"
},

{"productId" : "21063",
 "amount" : "6000",
 "tax1" : "0.11",
 "tax2" : "0.21",
 "tax3" : "0.32",
 "tax4" : "0.45",
 "tax1" : "0.51"
}
]

【问题讨论】:

  • 您的预期输出无效。您有重复的键。
  • 你有没有尝试过?如果你有,请分享minimal reproducible example,否则先自己试一试,然后发布你坚持的代码。请参阅How to Ask,谢谢。

标签: javascript arrays arraylist


【解决方案1】:

您可以通过 .map.forEach 的组合来实现它

var data = [
  [21062, 5000, 0.1, 0.2, 0.3, 0.4, 0.5],
  [21063, 6000, 0.11, 0.21, 0.32, 0.45, 0.51]
]

let obj = data.map(arr=>{
  let o = {
      productId:arr[0],
      amount:arr[1]
  }
  arr.forEach((e,i)=>{
    if (i > 1){
      o[`tax${i-1}`] = e;
    }
  })
  return o;
})
console.log(obj);

【讨论】:

  • 太好了,这正是我需要的……谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多