string === 以相同的字符串失败

string === fails with equal strings

编辑:不是重复的,因为这不是关于使用 === 与 == 的问题。这两种方法都失败了。

csv 的前两行:

email,Product,Term,Rate example@gmail.com,New,24 Months,1.99%

我在 if 语句中尝试了 === 和 ==,但总是失败。这是我使用的代码。首先,我从一个 csv 文件创建数组。然后我循环遍历该数组。当我在倒数第二行回显时,输出为 example@gmail.com - example@gmail.com

这适用于 if(line[0] === 'New'){,直到我在我的 csv sheet 中添加电子邮件列,但现在即使 运行 if(line[1] === 'New'){ 如果电子邮件列是那里。我再次检查,通过删除电子邮件列,它工作正常。一切都被格式化为 csv 中的文本。

casper.then(function readFile() {
        var stream = fs.open('ck.csv', 'r');
        var line = stream.readLine();
        var lineArray = [];
        while(line) {
            lineArray.push(line);
            line = stream.readLine();
        }

    casper.eachThen(lineArray, function(response) {
        line = response.data.split(',');

        this.echo(line[0] + ' - ' + email);

        if(line[0] === email && line[1] === 'New'){

确保 emailline[0] 都被修剪。 (使用email = email.trim())

你也可以使用 localeCompare() 方法 如果它们相等,你会得到 0。我们都知道 !0 是真的。 http://www.w3schools.com/jsref/jsref_localecompare.asp

if(!line[0].localeCompare(email) && !line[1].localeCompare('New')){}