我试图将javascript列表转换为具有指定键的字典。 我使用以下代码:
let list = ['cat', 'rabbit', 'fish']
list = list.map(x => {
return ({ animal: x });
})
console.log(list);

当然这不起作用。 编辑:它实际上是
预期结果:
[
{
"animal": "cat"
},
{
"animal": "rabbit"
},
{
"animal": "fish"
}
]
编辑:
让和 list = list 实际上是问题中的拼写错误 - 它在我的真实代码中是正确的。我没有测试这个片段,因为我认为它不起作用。然后我也混淆了自己并且确实输入了错误的预期结果。我的代码更复杂,发布所有内容都没有意义。作为作品,我认为我的错误必须在其他地方。谢谢您的帮助。
答案 0 :(得分:8)
当然这不起作用。
确实如此(如果我们修复了Let
中的拼写错误并且我们假设您想要一个包含三个对象的数组),那么您只是不使用结果:
let list = ['cat', 'rabbit', 'fish']
// vvvvvvv
list = list.map(x => {
return({animal: x});
});
console.log(list);

或者简要介绍一下简洁的箭头功能:
let list = ['cat', 'rabbit', 'fish']
list = list.map(x => ({animal: x}));
console.log(list);

答案 1 :(得分:0)
我会向@ T.J做出帮助。 Crowder的回答:Ecma Script 6(ES6)无法在旧浏览器和Internet Explorer (只是箭头函数=>
)中呈现,您可以使用下面的代码:
var list = ['cat', 'rabbit', 'fish']
list = list.map(function(x) {
return ({
animal: x
});
});
console.log(list);

如果您保留原始列表,可以使用以下代码:
var list = ['cat', 'rabbit', 'fish']
var result = list.map(function(x) {
return ({
animal: x
});
});
console.log(list);
console.log(result);

ES6中的典型事项是:
let
和const
个关键字|检查:caniuse.com =>
)|检查:caniuse.com