gpt4 book ai didi

javascript - 在 javascript 中编写 findNumbersInStr 函数

转载 作者:行者123 更新时间:2023-11-30 17:36:04 26 4
gpt4 key购买 nike

我想在 javascript 中编写一个函数,它接受一串由空格分隔的数字,并返回一个仅包含字符串 AS NUMBERS(不是字符串)中的数字的数组。

我的代码如下:

function findNumbersInStr(strToParse) 

{
var numbers = new Array();

if( typeof strToParse !== 'string'){
return 'undefined';
}
else{
var arrayNumbers = strToParse.split(" ");

for (i=0; i < arrayNumbers.length; i++)
{
ele = parseInt(arrayNumbers[i]);
if (typeof ele === "number")
{
console.log("this is the " + i + "th loop!");
var temp = parseInt(arrayNumbers[i]);
numbers.push(temp);
}
}
}
return numbers;
}

但是当我这样调用函数时:

console.log(findNumbersInStr("8 24 what hahaha 3990"));

我得到了结果:[8, 24, NaN, NaN, 3990]它似乎将 NaN 视为一种数字。我该如何解决这个问题?

提前致谢!

最佳答案

你可以使用像这样的正则表达式来得到更简单的函数:

var findNumbersInStr = function(str){

if( typeof str !== 'string' ) return;

return str.match(/(\d+)/g).map(Number)
}

findNumbersInStr("8 24 what hahaha 3990"); // [8, 24, 3990]

Demo

关于javascript - 在 javascript 中编写 findNumbersInStr 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22024058/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com