[英]Not understanding the second return statement in this function
第二個返回是回調函數。 試着這樣看:
function reverseWord(string) {
return (string.length > 4) ? string.split('').reverse().join('') : string
}
let spinWords = (str) => {
return str.split(' ').map(reverseWord).join(' ');
}
所以reverseWord
是你的回調函數,有它自己的返回值。 它返回的值是映射數組中使用的值。
.map
函數接受一個回調,該回調是一個為數組中的每個項目運行的函數。 舉個簡單的例子:
const upperCase = str => str.toUpperCase(); console.log( ['a', 'b'].map(upperCase) );
上面,它使用數組的兩個元素調用: upperCase('a')
和upperCase('b')
,結果被放入新數組中,然后console.log
upperCase('b')
。
您還可以定義內聯函數並將其傳遞給.map
:
console.log( ['a', 'b'].map(str => str.toUpperCase()) );
您的原始代碼
str.split(' ').map(function(string) {
return (string.length > 4) ? string.split('').reverse().join('') : string
}).join(' ');
正在做同樣的事情,除了
function
關鍵字,而不是箭頭函數,因此需要return
關鍵字才能返回值( 與某些情況下的箭頭函數不同)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.