我正在创建一个删除下划线的函数,如果它是字符串的第一个字符。
该函数将输入转换为大写并获取第一个字符,并且在验证后(如果需要)它将删除第一个字符。然后再次使用修改后的输入调用相同的函数以重新验证。如果符合条件,我将从else
返回修改后的单词。但是不知何故,它返回了undefined
let word = '__Hello_World';
function removeFirstUnderscore(ipWord) {
// converting to uppercase and getting first character;
let getFirstCharacter = ipWord.toUpperCase().charCodeAt(0); // 95
// now checking if first character is in this range between 65 & 95
if (getFirstCharacter <= 65 || getFirstCharacter >= 94) {
// remove the first character & again call the recursive function to revalidate
let removedFirstCharWord = ipWord.split('').splice(1).join('');
console.log('**** ', removedFirstCharWord);
removeFirstUnderscore(removedFirstCharWord)
} else {
// if first character is within range then return it
return ipWord;
}
}
console.log(removeFirstUnderscore(word))
答案 0 :(得分:5)
您有一个if
语句。
如果未满足条件,则您return ipWord
。
如果满足条件 ,则您呼叫 removeFirstUnderscore(removedFirstCharWord)
,但不返回。
如果要返回递归调用的结果,则需要return
。
return removeFirstUnderscore(removedFirstCharWord);
答案 1 :(得分:0)
您需要在date = ['20140115', '20140215', '20140315', '20140415', '20140515', '20140615']
date ciao google microsoft
20140115 368000 37200000 135000
20140215 368000 37200000 135000
20140315 450000 37200000 110000
20140415 450000 37200000 110000
20140515 450000 37200000 110000
20140615 450000 37200000 110000
块中添加return
语句。