Key*_*r K 2 javascript arrays javascript-objects
我已经提到了下面列出的这些问题,但没有帮助我。
我想从具有特定值的对象中获取计数。例如,我有这个数组列表,
var testData = [
{
"issue_type": "Warning",
"created_date": "2019-05-13T13:43:16.437Z",
},
{
"issue_type": "Warning",
"created_date": "2019-05-13T13:45:16.330Z",
},
{
"issue_type": "Alert",
"created_date": "2019-05-13T13:43:16.437Z",
},
{
"issue_type": "Alert",
"created_date": "2019-05-13T13:45:16.330Z",
}
]
Run Code Online (Sandbox Code Playgroud)
我想计算有多少带有键的对象"issue_type"="Warning"。
我试过这个循环,但这不是我要找的,
var counts = {};
for (var i = 0; i < arr.length; i++) {
var num = arr[i];
counts[num] = counts[num] ? counts[num] + 1 : 1;
}
console.log(count['issue_type']);
Run Code Online (Sandbox Code Playgroud)
请给我建议出路。
您可以简单地使用过滤器。
console.log (
testData.filter (({issue_type}) => issue_type === 'Warning').length
)Run Code Online (Sandbox Code Playgroud)
<script>var testData = [
{
"issue_type": "Warning",
"created_date": "2019-05-13T13:43:16.437Z",
},
{
"issue_type": "Warning",
"created_date": "2019-05-13T13:45:16.330Z",
},
{
"issue_type": "Alert",
"created_date": "2019-05-13T13:43:16.437Z",
},
{
"issue_type": "Alert",
"created_date": "2019-05-13T13:45:16.330Z",
}
]</script>Run Code Online (Sandbox Code Playgroud)
您可以将该值作为计数的键。
var testData = [{ issue_type: "Warning", created_date: "2019-05-13T13:43:16.437Z" }, { issue_type: "Warning", created_date: "2019-05-13T13:45:16.330Z" }, { issue_type: "Alert", created_date: "2019-05-13T13:43:16.437Z" }, { issue_type: "Alert", created_date: "2019-05-13T13:45:16.330Z" }],
counts = testData.reduce((c, { issue_type: key }) => (c[key] = (c[key] || 0) + 1, c), {});
console.log(counts);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4091 次 |
| 最近记录: |