如何将箭头函数转换为常规函数?
How to convert arrow function into a regular function?
我正在尝试将箭头函数转换为常规函数
这段代码:
let rating = watchList.map( (item) => ({"title":item["Title"], "rating":item["imdbRating"]}) )
像这样:
let rating = watchList.map( function (item) {
"title":item["Title"], "rating":item["imdbRating"]
})
虽然我认为这两个是等价的,但我收到了这条消息
SyntaxError: unknown: Unexpected token, expected
你还缺return
。当您为 Array.map 方法传入自定义函数时,您需要 return 该函数的值。
let rating = watchList.map(function(item) {
return {"title":item["Title"], "rating":item["imdbRating"]};
})
不过,还是用箭头函数比较好用,因为箭头函数看起来更简洁,并且可以在其中访问this
。
在箭头函数中,=>
之后的任何表达式都成为函数的隐式 return。
在常规函数中,您需要使用 return
keyword.And 也在 {}
中扭曲您的属性
let rating = watchList.map(function(item){
return {"title":item["Title"], "rating":item["imdbRating"]};
}
您还可以使用参数解构来缩短代码。
let rating = watchList.map(function({Title:title,imdbRating:rating}){
return {"title":Title, "rating":imdbRating};
}
或者您可以在解构时命名属性。
let rating = watchList.map(function({Title:title,imdbRating:rating}){
return {title,rating};
}
您需要使用return and you can also use shorthand notation of object if you use
let rating = watchList.map(function({Title:title, imdbRating:rating}) {
return {title,rating};
})
我正在尝试将箭头函数转换为常规函数
这段代码:
let rating = watchList.map( (item) => ({"title":item["Title"], "rating":item["imdbRating"]}) )
像这样:
let rating = watchList.map( function (item) {
"title":item["Title"], "rating":item["imdbRating"]
})
虽然我认为这两个是等价的,但我收到了这条消息
SyntaxError: unknown: Unexpected token, expected
你还缺return
。当您为 Array.map 方法传入自定义函数时,您需要 return 该函数的值。
let rating = watchList.map(function(item) {
return {"title":item["Title"], "rating":item["imdbRating"]};
})
不过,还是用箭头函数比较好用,因为箭头函数看起来更简洁,并且可以在其中访问this
。
在箭头函数中,=>
之后的任何表达式都成为函数的隐式 return。
在常规函数中,您需要使用 return
keyword.And 也在 {}
let rating = watchList.map(function(item){
return {"title":item["Title"], "rating":item["imdbRating"]};
}
您还可以使用参数解构来缩短代码。
let rating = watchList.map(function({Title:title,imdbRating:rating}){
return {"title":Title, "rating":imdbRating};
}
或者您可以在解构时命名属性。
let rating = watchList.map(function({Title:title,imdbRating:rating}){
return {title,rating};
}
您需要使用return and you can also use shorthand notation of object if you use
let rating = watchList.map(function({Title:title, imdbRating:rating}) {
return {title,rating};
})