【发布时间】:2020-03-02 14:27:51
【问题描述】:
我有一个这样的分组数组
this.state.tableData=
[0:{key: "EMAIL",val: ["john@example.com", "harry@example.com", "howard@example.com"]}
1:{key: "LASTNAME",val: ["Smith", "Pierce", "Paige"]}
2:{key: "FIRSTNAME",val: ["John", "Harry", "Howard"]}
3:{key: "SMS",val: ["33123456789", "33111222222", "33777888898"]}
]
我想把它转换成普通数组,比如
0: {EMAIL: "john@example.com", LASTNAME: "Smith", FIRSTNAME: "John", SMS: "33123456789"}
1: {EMAIL: "harry@example.com", LASTNAME: "Pierce", FIRSTNAME: "Harry", SMS: "33111222222"}
2: {EMAIL: "howard@example.com", LASTNAME: "Paige", FIRSTNAME: "Howard", SMS: "33777888898"}
我试过下面的代码
this.state.csvHeaders=["EMAIL','FIRSTNAME','LASTNAME']
var contacts=[];
this.state.tableData.map(k => {
k.val.map(r => {
Object.keys(this.state.csvHeaders).forEach(key => {
if(k.val["Col"]==="EMAIL")
{
contacts[key]['EMAIL']=r;
}
})
})
})
但它不起作用....任何建议我还能修改什么。我如何存储,将它们推送到数组?
【问题讨论】:
-
key 和 val 是否在 JSON 对象中?
-
@Neeraj Verma 你的 this.state.tableData 是正确的 json 吗?或数组对象
-
这不是正确的 js 数据结构,尤其是数组在语法上不正确:
["Smith", "Pierce", "Paige", Col: "LASTNAME"]-Col: "LASTNAME"部分不是正确的数组元素。请使用正确的数据结构编辑您的问题 -
好的,我删除了 col ,现在请告诉我怎么可能?
-
你已经had a normal array为什么不能用那个?
标签: javascript arrays json reactjs