我正在检查对象是否与默认值匹配,但是我不在乎大小写的区别。
当前功能:
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] ;
}
}
答案 0 :(得分:2)
您仍然可以转换字符串,无论它们是否在数组(或对象)中:
return $scope.machinedefaults[property] !== undefined &&
$scope.machinedefaults[property].toLowerCase() !== $scope.machine[property].toLowerCase();