我已經寫了一個函數,我想要在一個字符串中取出一個字符串,然後返回一個只包含原始字符串中的數字字符的字符串。它只能從字符串中提取數字的函數
function pureNumbers() {
var result;
for (var i = 0; i < phoneNumber.length; i++) {
if (Number(phoneNumber[i]) !== NaN) {
result ? result = result + phoneNumber[i] : result = phoneNumber[i]
}
}
return result;
}
pureNumbers('(123) 456-7890')
期望的結果:
result: '1234567890'
我實際上得到的是:
result: 'undefined(123) 456-7890'
我知道這裏有兩個問題(可能更多)。
- 的
undefined
之初我result
是因爲我的函數試圖返回結果的值在第一循環的迭代中,任何事情之前已經被分配給它。我成立了三元條件來覆蓋這一點,不知道爲什麼它不工作... - 我的第一個
if()
條件的目的是使該字符串的給定的字符被添加到result
只有如果它是一個數 ,但每一個字符都被添加。
任何幫助表示讚賞 - 在此先感謝。