角度字符串比较有一个奇怪的问题。我正在尝试比较两个文件名,以查看上传的文件是新文件还是更新。
代码如下:
for (var i = 0; i < $scope.azureFilesData.length; i++) {
console.log("Check Existing File Name: " + $scope.azureFilesData[i].file_name + ", Against upload File Name: " + fileName);
if (angular.equals($scope.azureFilesData[i].file_name.toUpperCase,fileName.toUpperCase)) {
console.log("Confirm Existing File Name: " + $scope.azureFilesData[i].file_name + "Equals upload File Name: " + fileName);
return $scope.azureFilesData[i].azurefilesid;
}
}
上传azureFilesData为空的第一个文件,它会跳过此块。上传第二个文件,控制台报告:
检查现有文件名:上传测试2.docx,反对上传文件名:上传Test.docx 确认现有文件名:上传测试2.docxEquals上传文件名:上传Test.docx
但是它返回第一个的ID(仅因为,因为第一个文件认为它是更新之后的所有内容)。我也试过替换==和===而不是angular.equals。我错过了什么?
答案 0 :(得分:1)
toUpperCase
是一个函数,因此您需要像fileName.toUpperCase()
一样调用它,否则您将比较函数。