hau*_*uge 3 javascript ecmascript-6 vue.js
我有一个要过滤其键的对象。
我试图通过ID过滤对象,如下所示:
let myKeys = Object.keys(data).filter(function(key) {
//console.log(data[key]);
if(parseInt(key) === parseInt(vm.system_id)) {
return data[key];
}
});
console.log(myKeys);
Run Code Online (Sandbox Code Playgroud)
这部分起作用了-我正在获取密钥,但是,我没有获得此项目下的所有数据/项目,我正在过滤掉
对象即时过滤与此类似:
{
"646": [{
"id": 52144,
"timestamp": "2017-08-17T14:10:23Z",
"type": "alarm",
"code": 210,
"title": "",
"description": "",
"remedy": "",
"appeared": "2017-08-17T14:10:09Z",
"disappeared": null,
"acknowlegded": null,
"solved": null,
"system_name": "CG-MX19D7K5C1",
"system_id": 646,
"system_device_id": 458,
"stream": "cu351.alarm_code"
}
],
"693": [{
"id": 51675,
"timestamp": "2017-08-16T13:59:55Z",
"type": "alarm",
"code": 215,
"title": "",
"description": "",
"remedy": "",
"appeared": "2017-08-16T13:59:57Z",
"disappeared": null,
"acknowlegded": null,
"solved": null,
"system_name": "Demo 07122016",
"system_id": 693,
"system_device_id": 371,
"stream": "cu351.alarm_code"
}, {
"id": 51677,
"timestamp": "2017-08-16T13:59:57Z",
"type": "alarm",
"code": 214,
"title": "",
"description": "",
"remedy": "",
"appeared": "2017-08-16T13:59:59Z",
"disappeared": null,
"acknowlegded": null,
"solved": null,
"system_name": "Demo 07122016",
"system_id": 693,
"system_device_id": 371,
"stream": "cu351.alarm_code"
}
]
Run Code Online (Sandbox Code Playgroud)
}
Array#filter
期望布尔值作为返回值,您可以使用此值
let myKeys = Object.keys(data).filter(key => key == vm.system_id);
Run Code Online (Sandbox Code Playgroud)
获取键,然后使用给定的键渲染新对象。
要将所有物品放在一个阵列中,可以用
let result = myKeys.reduce((r, k) => r.concat(data[k]), []);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10810 次 |
最近记录: |