我已经写了一个函数,我想要在一个字符串中取出一个字符串,然后返回一个只包含原始字符串中的数字字符的字符串。它只能从字符串中提取数字的函数
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
只有如果它是一个数 ,但每一个字符都被添加。
任何帮助表示赞赏 - 在此先感谢。