Pra*_*vin 0 javascript angularjs
跟随我的角度物体
$scope.obj1= [
{"NewID":38,"Type":"Faculty","Year":"2016","Status":"Active"},
{"NewID":39,"Type":"Staff","Year":"2016","Status":"Active"},
{"NewID":40,"Type":"Faculty","Year":"2016","Status":"Active"},
{"NewID":41,"Type":"Faculty","Year":"2016","Status":"Active"}
]
Run Code Online (Sandbox Code Playgroud)
我想检查'Type'包含任何'Staff'或'Faculty',因为我使用下面的代码
var myobj=$scope.obj1;
var x=false; y=false;
for (var i = 0; i < myobj.length; i++) {
if ( myobj[i].Type == 'Faculty') {
x=true;
break;
}
}
for (var i = 0; i < myobj.length; i++) {
if ( myobj[i].Type == 'Staff') {
y=true;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
我使用JavaScript,我正在寻找角度或JavaScript的简单方法,而不是使用for循环
var filteredObjects = $scope.obj1.filter(function(obj){
return obj.Type === 'Faculty' || obj.Type === 'Staff';
})
Run Code Online (Sandbox Code Playgroud)
这将返回一个包含过滤对象的数组(类型为"Faculty"和"Staff").您可以检查length以查看是否有任何其他操作或您需要的其他操作.
编辑
因为你只想检查它是否包含任何'Faculty'或'Staff',你应该使用Array.prototype.some.
var exists = $scope.obj1.some(function (obj) {
return obj.Type === 'Faculty' || obj.Type === 'Staff';
}
Run Code Online (Sandbox Code Playgroud)
对于单独的结果,您可以创建 function
function checkExists (type) {
return $scope.obj1.some(function (obj) {
return obj.Type === type;
}
}
var facultyExist = checkExists('Faculty');
var staffExist = checkExists('Staff');
Run Code Online (Sandbox Code Playgroud)