我有看起来像的JSON对象
{
"1F54716": [],
"1258820b-guid": [
{
"value": "true",
"property": "",
"say": "Hello",
},
{
"value": "false",
"property": "",
"say": "Hello",
}
],
}
有没有一种方法可以通过“ value”:“ true”对此进行过滤,所以只能有values,其中value = true,然后我要说一个== Hello的计数。非常感谢您的帮助,这是javascript世界的新手
var theObject = {"1F54716": [], "1258820b-guid": [
{"value": "true", "property": "", "say": "Hello"},
{"value": "false", "property": "", "say": "Hello"},
{"value": "true", "property": "", "say": "Bye"},
{"value": "true", "property": "", "say": "Hello"}
]}; // Array has 3 value "true" objects and 2 of them count as say "Hello".
function extractArrayWithValueAndSay(obj) {
for (var k in obj) {
if (obj[k] && obj[k].length && "value" in obj[k][0] && "say" in obj[k][0]) {
return obj[k];
}
}
return [];
}
var sourceArray = extractArrayWithValueAndSay(theObject);
var filteredValueTrueArray = sourceArray.filter(function (obj) {
return obj && obj.value == "true";
});
var filteredSayHelloCount = filteredValueTrueArray.filter(function (obj) {
return obj && obj.say == "Hello";
}).length;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句