我有一个像这样的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" }
]
答案 0 :(得分:1)
使用Array#filter仅获取present
状态记录。
filter()
方法创建一个新的array
,其中所有通过测试的元素均由提供的功能实现。
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)
答案 1 :(得分:0)
您可以只使用filter方法。它会根据给定条件返回新数组。
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);
答案 2 :(得分:0)
我相信您提到的是过滤
let recordSorted = []
records.map(item => if(item.Status == "present"){
recordSorted.push(item)
})
2。您只需通过以下方式即可
records.map(item => item.Status === "present" ? recordSorted.push(item): continue )
3。您可以使用过滤器方法从数组中过滤itsm
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"})
详细了解filter
console.log(recordSorted)