Javascript 如何将箭头函数转换为常规函数?

Javascript 如何将箭头函数转换为常规函数?,javascript,arrays,arrow-functions,Javascript,Arrays,Arrow Functions,我正在尝试将箭头函数转换为常规函数 这段代码: let rating = watchList.map( (item) => ({"title":item["Title"], "rating":item["imdbRating"]}) ) 像这样: let rating = watchList.map( function (item) { "title":item["Title"], "rating":item["imdbRating"] }) 虽然我认为这两者是等价的,但我得到

我正在尝试将箭头函数转换为常规函数

这段代码:

let rating = watchList.map( (item) => ({"title":item["Title"], "rating":item["imdbRating"]}) )
像这样:

let rating = watchList.map( function (item) {
    "title":item["Title"], "rating":item["imdbRating"]
})
虽然我认为这两者是等价的,但我得到了这个信息

SyntaxError:未知:意外标记,应为


您缺少
return
。当为方法传入自定义函数时,需要为该函数返回一个值

let rating = watchList.map(function(item) {
  return {"title":item["Title"], "rating":item["imdbRating"]};
})

尽管如此,使用箭头函数更有用,因为箭头函数似乎更简洁,并允许您访问其中的

在箭头函数中,
=>
之后的任何表达式都成为隐式函数返回

let rating = watchList.map(function(item) {
  return {"title":item["Title"], "rating":item["imdbRating"]};
})
在常规函数中,您需要使用
return
关键字。还需要在
{}

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};  
}
如果使用,则需要使用,也可以使用object

返回{“title”:item[“title”],“rating”:item[“imdbRating”]}