首页 > 解决方案 > 空字符串检查评估错误

问题描述

我有一个检查空字符串的条件,它没有按预期评估空字符串。

我一次读取一个字符的字符串:

isNumber(s: string) {
  console.log('char', s);
  if (s !== '' && !isNaN(Number(s))) {
    console.log('is a number');
    console.log('-------------');
    return true;
  }
  console.log('NOT a number');
  console.log('-------------');
}

该字符串是从 csv 文件中读取的:

a,b,
c,d,e

第 3 列第 1 行是空的,但如果即使我有评估结果为真s !== '',我已经用控制台确认 char 是空的。为什么空字符串条件不起作用?

更新: 这会导致非空字符串吗?我用引号初始化变量,然后附加到它。

cellExtraction = '';
cellExtraction += s; // <- where s should be an empty string read from file

标签: javascript

解决方案


表达式Number("")返回 0,它是一个数字。由于s !== ''测试显然是返回true,它必须是s包含一个或多个空格字符的情况。0那些也是由函数变成的Number();也就是说,Number(" ")也是0


推荐阅读