如何通过拆分字符串将数组转换为对象?

fra*_*ong 7 javascript arrays json lodash

我有一个像下面这样的数组:

["gender-m", "age-20", "city-london", "lang-en", "support-home"]
Run Code Online (Sandbox Code Playgroud)

我试图生成一个JSON对象:

{"gender":"m", "age":"20", "city":"london", "lang":"en", "support":"home"}
Run Code Online (Sandbox Code Playgroud)

我能想到的一种解决方案是使用FOR循环来实现它,但是我确信对此有不错的解决方案。有什么建议,请帮帮我。

Nin*_*olz 12

您可以Object.fromEntries使用拆分的键/值对。

var data = ["gender-m", "age-20", "city-london", "lang-en", "support-home"],
    result = Object.fromEntries(data.map(s => s.split('-')));

console.log(result);
Run Code Online (Sandbox Code Playgroud)