簡體   English   中英

在JavaScript中過濾和計數json屬性

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM