Javascript 胖箭头与地图的用法

Javascript 胖箭头与地图的用法,javascript,functional-programming,Javascript,Functional Programming,这里是JavaScript新手。尝试将Arrray.map与fat arrow一起使用时,出现编译错误。下面是我的示例代码和错误 var employeesWithComplexLocation=[{ “姓名”:“乔恩”, “地点”:{ “国家”:“美国”, “城市”:“奥斯汀” } }, { “姓名”:“简”, “地点”:{ “国家”:“美国”, “城市”:“休斯顿” } }, { “姓名”:“玛丽”, “地点”:{ “国家”:“美国”, “城市”:“达拉斯” } }]; var emplo

这里是JavaScript新手。尝试将Arrray.map与fat arrow一起使用时,出现编译错误。下面是我的示例代码和错误

var employeesWithComplexLocation=[{
“姓名”:“乔恩”,
“地点”:{
“国家”:“美国”,
“城市”:“奥斯汀”
}
}, {
“姓名”:“简”,
“地点”:{
“国家”:“美国”,
“城市”:“休斯顿”
}
}, {
“姓名”:“玛丽”,
“地点”:{
“国家”:“美国”,
“城市”:“达拉斯”
}
}];
var employeesWithOnlyCity=employeesWithComplexLocation.map(函数(元素){
返回{
名称:element.name,
地点:element.location.city
};
});
console.log(员工所在城市);
log('现在使用胖箭头:')
employeesWithOnlyCity=employeesWithComplexLocation.map(e=>{
姓名:e.name,
地点:e.location.city
});

console.log(员工所在城市)第二次使用导致错误的原因是,在使用javascript时,运算符
{}
表示函数体,而不是对象。关于Arrow函数的MDN文章提到了这一点,并提供了一个链接,指向更全面的解释()

ES6中的规则是{紧跟在箭头后面是 始终视为块的起点,而不是对象的起点

如果需要从arrow函数返回一个对象,那么应该将该对象括在括号中,让Javascript知道不需要语句块

var-test=e=>({test:e});
document.getElementById(“输出”).innerHTML=JSON.stringify(测试(“我的值”);

Value:…
第二次使用导致错误的原因是,当使用javascript
=>
操作符
{}
时,它表示函数体,而不是对象。关于Arrow函数的MDN文章提到了这一点,并提供了指向更详细解释()的链接

ES6中的规则是{紧跟在箭头后面是 始终视为块的起点,而不是对象的起点

如果需要从arrow函数返回一个对象,那么应该将该对象括在括号中,让Javascript知道不需要语句块

var-test=e=>({test:e});
document.getElementById(“输出”).innerHTML=JSON.stringify(测试(“我的值”);

Value:…
你能试试
e=>{return{name:e.name,location:e.location.city};}
它是一个表达式
(param,…=>表达式
还是一个或多个用大括号括起来的语句
(param,…=>{statements}
简单地用括号括起来也可以解决这个问题
e=>({name:e.name,location:e.location.city})
它变成了一个表达式。你试图返回一个匿名对象,但没有形成一个。这是给你的。你想返回一个对象。感谢所有人的响应。它帮助了很多。你能尝试
e=>{return name:e.name,location:e.location.city};}
它要么是一个表达式
(param,…=>表达式
,要么是一个或多个用大括号括起来的语句
(param,…=>{statements}
简单地用括号括起来也可以解决这个问题
e=>({name:e.name,location:e.location.city})
它变成了一个表达式。您试图返回一个匿名对象,但没有形成匿名对象。这是给您的。您想返回一个对象。感谢所有人的回复。这很有帮助。