Javascript 胖箭头与地图的用法
这里是JavaScript新手。尝试将Arrray.map与fat arrow一起使用时,出现编译错误。下面是我的示例代码和错误Javascript 胖箭头与地图的用法,javascript,functional-programming,Javascript,Functional Programming,这里是JavaScript新手。尝试将Arrray.map与fat arrow一起使用时,出现编译错误。下面是我的示例代码和错误 var employeesWithComplexLocation=[{ “姓名”:“乔恩”, “地点”:{ “国家”:“美国”, “城市”:“奥斯汀” } }, { “姓名”:“简”, “地点”:{ “国家”:“美国”, “城市”:“休斯顿” } }, { “姓名”:“玛丽”, “地点”:{ “国家”:“美国”, “城市”:“达拉斯” } }]; var emplo
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})
它变成了一个表达式。您试图返回一个匿名对象,但没有形成匿名对象。这是给您的。您想返回一个对象。感谢所有人的回复。这很有帮助。