[英]Filtering and counting json properties in javascript
我有一个json对象,我想在js中分析其项目。 当我将json登录到控制台时,您可以看到它包含包含相关信息数组的元素items
。
console.log(json)
{current_page: 1, per_page: 100, total_entries: 106, items: Array(100)}
current_page:1
items:Array(100)
0:{id: 15814, name: "Vehicle_1001", state: "available", repair_state: "broken", network_id: 99, …}
1:{id: 16519, name: "Vehicle_1002", state: "available", repair_state: "broken", network_id: 99, …}
但是,当我尝试使用filter
功能来计算repair_state
broken
的记录数量时,我返回了一个错误:
json.filter(value => value.items.repair_state === 'broken').length
Uncaught TypeError: json.filter is not a function
我在做什么错的,怎么一会算的数items
,其repair_state
属性等于broken
在这种情况下?
正如我从您的console.log中看到的那样,json是一个对象,其中items是其中的一个数组,因此您应该在array items
上应用过滤器。 它应该是,
var result = json.items.filter(value => value.repair_state === 'broken').length;
演示
var json= { "current_page": 1, "per_page": 100, "total_entries": 106, "items": [ { "id": "15814", "name": "Vehicle_1001", "state": "available", "repair_state": "broken" }, { "id": "16519", "name": "Vehicle_1002", "state": "available", "repair_state": "broken" } ] }; var result = json.items.filter(value => value.repair_state === 'broken').length; console.log(result);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.