我有看起来像这样的 JS 对象:
{
"3": {
"id": 3,
"first": "Lisa",
"last": "Morgan",
"email": "lmorgan@gmail.com",
"phone": "(508) 233-8908",
"status": 0
},
"4": {
"id": 4,
"first": "Dave",
"last": "Hart",
"email": "dhart@gmail.com",
"phone": "(509) 874-9411",
"status": 1
}
}
我想过滤对象,例如只提取状态为“1”的记录。一种解决方案是使用这样的数组过滤器:
var filterJSON = Object.values(obj).filter(function (entry) {
switch(frmFilter){
case '1':
return entry.status === 1;
break;
case '2':
return entry.status === 0;
break;
default:
return entry;
}
});
问题是上面的代码会将数据转换为数组,如下所示:
[
{
"id": 3,
"first": "Lisa",
"last": "Morgan",
"email": "lmorgan@gmail.com",
"phone": "(508) 233-8908",
"status": 1
},
{
"id": 4,
"first": "Dave",
"last": "Hart",
"email": "dhart@gmail.com",
"phone": "(509) 874-9411",
"status": 1
}
]
如您所见,数据集是一个数组,我想在应用过滤器之前将对象中的数据保持与第一个示例中的数据相同。有没有办法过滤对象并获得与通过数组过滤相同的输出?