我以下列格式获取Javascript对象
{
"Alerts": [{
"Name": "...",
"Type": "Warning",
"Message": "...",
"Time": "..."
},
{
"Name": "...",
"Type": "Critical",
"Message": "...",
"Time": "..."
},
{
"Name": "...",
"Type": "Info",
"Message": "...",
"Time": "..."
}]
}
如何检查我收到的此数组对象中是否存在严重类型的警报。
我正在使用angularjs。
答案 0 :(得分:2)
你可以做这样的事情
function find(arr, key, text){
for(var i = arr.length; i--;){
if(arr[i][key] === text) return i;
}
return -1;
}
用法
var index = find(jsonObject.Alerts, "Type", "Critical")
答案 1 :(得分:2)
如果你正在寻找有角度的东西, 创建一个过滤器,
app.filter('checkCritical', function() {
return function(input) {
angular.forEach(input, function(obj) {
if((obj.Type).toLowerCase() == 'critical') {
return true;
}
});
return false;
};
})
在控制器内使用此过滤器
在控制器中,
var exists = $filter("checkCritical").(Alerts);
不要忘记将$filter
注入控制器
答案 2 :(得分:0)
如果页面上有jQuery。
var exists = $.grep(alerts, function (e) { return e.Type == 'Critical'; }).length > 0;
注意:alerts
(如上所示)将是您对象中的警报数组。
参考:
答案 3 :(得分:-1)
您必须循环遍历数组中的每个元素,并检查是否有任何对象具有“关键”'作为Type属性值。