3 回答
TA贡献1735条经验 获得超5个赞
基本上,您需要使用forEach而不是map函数,然后您可以将该对象构建为您想要保留的任何键值对。
试试这个,它会解决你的问题。
var temp = {};
this.languagePack.forEach(({key,value}) => {
temp[key] = value
})
console.log(temp)
注意:这里我们没有使用,map因为我们想要返回对象而不是数组,所以,我们可以reduce在这里使用函数来做到这一点,但我认为这会简单易懂我们想要什么以及我们在这里做什么。
TA贡献1829条经验 获得超6个赞
您可以使用 javascriptreduce函数创建一个空对象并将每个键和值放入其中。
const data = [
{
'key': 'Username',
'value': 'Benutzername',
'group': 'default'
},
{
'key': 'Password',
'value': 'Passwort',
'group': 'default'
}
];
const newData = data.reduce((acc, row) => {
acc[row.key] = row.value;
return acc;
}, {});
console.log(newData);
编辑:Donny Verduijn 的好建议。您可以使用 es6 解构来编写更短的函数。
const newData = data.reduce((acc, { key, value }) => ({ ...acc, [key]: value }), {});
TA贡献1780条经验 获得超3个赞
使用Array#map它创建键和值作为对象,并将Object.assign数组值转换为对象
const languagePack = [ { 'key': 'Username', 'value': 'Benutzername', 'group': 'default' }, { 'key': 'Password', 'value': 'Passwort', 'group': 'default' } ];
var res = Object.assign({},...languagePack.map(({key,value}) => ({[key]:value})))
console.log(res)
添加回答
举报