繁体   English   中英

我正在尝试返回 function 但显示错误

[英]I am trying to return function but showing error

 const output2 = rev("i love javascript") function rev(ar1) { var str1= ar1.split(' ') str1.map(str => { //return str[0].toUpperCase() + str.substring(1) return str[0].toUpperCase()+str.substring(1) }); return ar1 } console.log(output2)

正如评论所说,您返回的是函数的参数,而不是 map 返回的值。

 const output2 = rev("i love javascript") function rev(ar1) { var str1= ar1.split(' ') return str1.map(str => { //return str[0].toUpperCase() + str.substring(1) return str[0].toUpperCase()+str.substring(1) }); } console.log(output2)

我猜你只是为了这样做:

 function rev(ar1) { var str1 = ar1.split(' ') str1 = str1.map(str => { //return str[0].toUpperCase() + str.substring(1) return str[0].toUpperCase()+str.substring(1) }).join(' '); return str1 } const output2 = rev("i love javascript") console.log(output2)

return ar1返回原始的a1字符串,没有改变


您可能想要返回map的结果,因此我们可以执行以下操作:

 const output2 = rev("i love javascript") function rev(ar1) { var str1= ar1.split(' ') return str1.map(str => { return str[0].toUpperCase()+str.substring(1) }); } console.log(output2)


但是由于map返回一个数组,我们需要join它连接回一个字符串:

 const output2 = rev("i love javascript") function rev(ar1) { var str1= ar1.split(' ') return str1.map(str => { return str[0].toUpperCase()+str.substring(1) }).join(' '); } console.log(output2)

Output: I Love Javascript


由于str1在声明后不使用,我们可以将其删除以创建单行:

return ar1.split(' ').map(str =>str[0].toUpperCase()+str.substring(1)).join(' ');

 const output2 = rev("i love javascript") function rev(ar1) { return ar1.split(' ').map(str =>str[0].toUpperCase()+str.substring(1)).join(' '); } console.log(output2)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM