我在数组中有键值对,格式为-
GET https://www.google.com/m8/feeds/contacts/default/full/<id>
如何将其转换为JS对象?预期输出应为:
["model:B250W,C300W4,E300W4,GLA250W4", "class:E", "exteriorColor:BLK", "interiorColor:BGE", "price:30000,115000", "year:2018", "bodyStyle:SDN,CPE,SUV"].
我尝试过-
{
"model":"B250W,C300W4,E300W4,GLA250W4",
"class":"E",
"exteriorColor":"BLK",
"interiorColor":"BGE",
"price":"30000,115000",
"year":"2018",
"bodyStyle":"SDN,CPE,SUV"
}
但是我遇到一个错误。这是将键和值分配给对象的另一种方法吗?
答案 0 :(得分:0)
您可以迭代字符串,拆分值,然后将第一项作为键,并为一个新对象加入所有其他值(如果已拆分)。
最后创建一个对象。
var data = ["model:B250W,C300W4,E300W4,GLA250W4", "class:E", "exteriorColor:BLK", "interiorColor:BGE", "price:30000,115000", "year:2018", "bodyStyle:SDN,CPE,SUV"],
object = Object.assign(
...data.map(s => (([k, ...v]) => ({ [k]: v.join(':') }))(s.split(':')))
);
console.log(object);
答案 1 :(得分:0)
@Nina的回答很好。如果您想尝试,reduce只是另一个解决方案
87