首页 > 解决方案 > 另一个 javascript 奇迹 6 == 6 是错误的

问题描述

我有这个基本代码

for(var i = 0; i < vm.tickets.length; i++) {   
            console.log(vm.tickets[i].docid);
            console.log(vm.csvData.DOCID);
            console.log(vm.tickets[i].docid == vm.csvData.DOCID);
            if(vm.tickets[i].docid == vm.csvData.DOCID) {

我已经把======================...

日志

6

6

错误的

有人可以解释一下有什么问题吗?

标签: javascript

解决方案


正如您在评论中验证的那样,两个字符串之一有尾随空格。我猜vm.csvData.DOCID。您可以使用 删除它们trim(),如下所示:

for(var i = 0; i < vm.tickets.length; i++) {   
    console.log(vm.tickets[i].docid);
    var csvDocId = vm.csvData.DOCID.trim(); // trim here
    console.log(csvDocId);
    console.log(vm.tickets[i].docid == csvDocId);
    if(vm.tickets[i].docid == csvDocId) {
        // whatever
    }
}

当然,vm.tickets[i].docid如果它也有尾随空格,你也应该修剪。


推荐阅读