Javascript 如何计算字符串中的数字?
我的代码是这样的。。 我正在使用Javascript 如何计算字符串中的数字?,javascript,Javascript,我的代码是这样的。。 我正在使用isNaN(),但问题仍然有效 function numberSearch (str) { let sum = 0; let strCount = 0; if(str === "") { return 0; }; for(let i = 0 ; i < str.length; i++) { if (isNaN(Number(str[i]))) {
isNaN()
,但问题仍然有效
function numberSearch (str) {
let sum = 0;
let strCount = 0;
if(str === "") {
return 0;
};
for(let i = 0 ; i < str.length; i++) {
if (isNaN(Number(str[i]))) {
strCount = strCount + 1 // if it's true, +1
}
sum = sum + Number(str[i])
}
return Math.round(sum/strCount);
}
let output = numberSearch('Hello6 ');
console.log(output); // --> 1
output = numberSearch('Hello6 9World 2,');
console.log(output); // --> 1
函数编号搜索(str){
设和=0;
设strCount=0;
如果(str==“”){
返回0;
};
for(设i=0;i1.
输出=数字搜索('Hello6 9 World 2');
console.log(输出);//-->1.
我如何数数和计算它
我使用的是isNaN()
,但当我使用调试器时,总和是'NaN'
我不能善待你。。我不能很好地理解..滚动查看编辑问题的答案
NaN === NaN
将是错误的,有一个很好的解释
尝试使用isNaN()
进行检查,而不是比较
编辑:据我所知,您希望得到字符串中找到的数字的四舍五入平均值。如果
检查被相应修改——如果检查的是一个数字,则必须增加计数和总和:
函数编号搜索(str){
设和=0;
让计数=0;
如果(str==''){
返回0;
};
for(设i=0;i console.log(输出);//-->6现在,17/3
滚动查看已编辑问题的答案
NaN === NaN
将是错误的,有一个很好的解释
尝试使用isNaN()
进行检查,而不是比较
编辑:据我所知,您希望得到字符串中找到的数字的四舍五入平均值。如果
检查被相应修改——如果检查的是一个数字,则必须增加计数和总和:
函数编号搜索(str){
设和=0;
让计数=0;
如果(str==''){
返回0;
};
for(设i=0;i console.log(输出);//-->6现在,17/3NaN
将计算为true
,因为“NaN”不等于任何值,包括它本身。您需要使用isNaN()
检查给定值是否为NaN。NaN!==NaN
将计算为true
,因为“NaN”不等于任何值,包括它本身。您需要使用isNaN()
检查给定值是否为NaN。