Array.prototype.map()中的对象初始值设定语法

时间:2016-12-16 22:44:30

标签: javascript

let a = [{num:'1'},{num:'2'}];
let b = ['1','2'];
let c = b.map(i=>{num:i});

console.log(a);
console.log(c);

我希望变量c与a相同,但不会发生。为什么我不使用Object初始值设定语法?

1 个答案:

答案 0 :(得分:2)

问题是经典的Javascript问题:箭头函数的内容被视为一个块,而不是函数文字,num作为标签,而不是对象键。您需要将括号()中的文字换行以使其正常工作:

let a = [{num:'1'},{num:'2'}];
let b = ['1','2'];
let c = b.map(i=>({num:i}));

console.log(a);
console.log(c);