如何忽略数组检查javascript中的大写/小写

时间:2019-02-08 09:41:18

标签: javascript arrays

我正在检查对象是否与默认值匹配,但是我不在乎大小写的区别。
当前功能:

function checkSingleDifference(property) {
    if ($scope.defaultsAvailable === false) {
        console.log("default are not available!");
        return false;
    } else if (!$scope.machinedefaults || !$scope.machine) {
        return false;
    }
    else {
        return $scope.machinedefaults[property] !== undefined && $scope.machinedefaults[property] !== $scope.machine[property];
    }
}

CheckSingleDifference中的返回值是不匹配的对象。 由于要检查的对象是数组,所以toUpperCase不起作用。 是否有可能仅以Java脚本方式处理此问题,还是有必要在php中修改对象?

期望值是一个对象中的2个字符串,因此例如: machinedefaults[property] = "One" machine[property] = "one",然后我不希望它返回这些值。

谢谢。

更新

解决方案:

function checkSingleDifference(property) {
    if ($scope.defaultsAvailable === false) {
        console.log("default are not available!");
        return false;
    } else if (!$scope.machinedefaults || !$scope.machine) {
        return false;
    }
    if($scope.machinedefaults[property] !== undefined && $scope.machinedefaults[property].toLowerCase() !== $scope.machine[property].toLowerCase()) {
        return $scope.machinedefaults[property] !== undefined && $scope.machinedefaults[property] !== $scope.machine[property] ;
    }
}

1 个答案:

答案 0 :(得分:2)

您仍然可以转换字符串,无论它们是否在数组(或对象)中:

return $scope.machinedefaults[property] !== undefined &&
  $scope.machinedefaults[property].toLowerCase() !== $scope.machine[property].toLowerCase();