Javascript 将数组转换为JS对象

Javascript 将数组转换为JS对象,javascript,Javascript,我有一个数组中的键值对,格式为- ["model:B250W,C300W4,E300W4,GLA250W4", "class:E", "exteriorColor:BLK", "interiorColor:BGE", "price:30000,115000", "year:2018", "bodyStyle:SDN,CPE,SUV"]. 如何将其转换为JS对象?预期产出应为: { "model":"B250W,C300W4,E300W4,GLA250W4", "class":

我有一个数组中的键值对,格式为-

["model:B250W,C300W4,E300W4,GLA250W4", "class:E", "exteriorColor:BLK", "interiorColor:BGE", "price:30000,115000", "year:2018", "bodyStyle:SDN,CPE,SUV"]. 
如何将其转换为JS对象?预期产出应为:

{
    "model":"B250W,C300W4,E300W4,GLA250W4",
    "class":"E",
    "exteriorColor":"BLK",
    "interiorColor":"BGE", 
    "price":"30000,115000", 
    "year":"2018", 
    "bodyStyle":"SDN,CPE,SUV"
}
我试过了-

y=["model:B250W,C300W4,E300W4,GLA250W4", "class:E", "exteriorColor:BLK", "interiorColor:BGE", "price:30000,115000", "year:2018", "bodyStyle:SDN,CPE,SUV"];
x=Object();
x.y[0].split('&')[0]=y[0].split('&')[1];

但我有个错误。这是为对象分配键和值的另一种方法吗?

您可以迭代字符串,拆分值,并将第一项作为键,如果拆分为新对象,则可以合并所有其他值

最后,创建单个对象

var数据=[型号:B250W,C300W4,E300W4,GLA250W4,等级:E,外部颜色:黑色,内部颜色:BGE,价格:3000015000,年份:2018,车身样式:SDN,CPE,SUV], object=object.assign …data.maps=>[k,…v]=>{[k]:v.join':'}s.split':' ;
console.logobject @Nina的回答很好。如果你想试试的话,这只是另一个解决方案

var arr = ["model:B250W,C300W4,E300W4,GLA250W4", "class:E", "exteriorColor:BLK", "interiorColor:BGE", "price:30000,115000", "year:2018", "bodyStyle:SDN,CPE,SUV"]

arr.reduce((obj, d) => (obj[d.split(':')[0]] = d.split(':')[1], obj), {})

现在是重读并提供一个和一个格式正确的问题的好时机。JSON.stringify?你是指JSON对象还是JSON?JSON不是一个对象,它是一个字符串。你想要的结果到底是什么,到目前为止你有什么代码?可能是@Kosmos的重复,我想OP需要JSON.parsestrValue;取决于对艾米的回答