[英]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.