[英]Filter a JSON array based on a property
我有一個像這樣的 JSON 數組:
var records = [
{ Name: "Bob", EmployeeID: 1234, Status: "present" },
{ Name: "Jim", EmployeeID: 4432, Status: "present" },
{ Name: "Heather", EmployeeID: 4432, Status: "absent" },
]
我想根據狀態過濾數組列表(即如果Status === "present"
)。
[
{ "Name": "Bob", "EmployeeID": 1234, "Status": "present" },
{ "Name": "Jim", "EmployeeID": 4432, "Status": "present" }
]
使用Array#filter僅獲取present
狀態記錄。
filter()
方法創建一個新array
,其中包含通過提供的 function 實現的測試的所有元素。
var records = [{ "Name": "Bob", "EmployeeID": 1234, "Status": "present" }, { "Name": "Jim", "EmployeeID": 4432, "Status": "present" }, { "Name": "Heather", "EmployeeID": 4432, "Status": "absent" } ]; let preStatus = records.filter(({Status}) => Status === 'present') console.log(preStatus)
你可以只使用過濾方法。 它根據給定條件返回新數組。
var records = [{"Name":"Bob", "EmployeeID":1234, "Status":"present"}, {"Name":"Jim", "EmployeeID":4432, "Status":"present"}, {"Name":"Heather", "EmployeeID":4432, "Status":"absent"}]; const output = records.filter(rec => { return rec.Status == 'present'; }); console.log(output);
我相信你在提到過濾
let recordSorted = []
records.map(item => if(item.Status == "present"){
recordSorted.push(item)
})
2.你可以簡單地做到這一點
records.map(item => item.Status === "present" ? recordSorted.push(item): continue )
3.您可以使用過濾方法從數組中過濾item
var records = [
{ Name: "Bob", EmployeeID: 1234, Status: "present" },
{ Name: "Jim", EmployeeID: 4432, Status: "present" },
{ Name: "Heather", EmployeeID: 4432, Status: "absent" },
]
let recordSorted = records.filter(item=>{item.Status ==="present"})
了解有關過濾器的更多信息
console.log(recordSorted)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.