[英]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.