簡體   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