JavaScript-获取具有特定值的对象计数
我提到了下面列出的这些问题,但没有帮我解决 我想从具有特定值的对象获取计数。例如,我有一个数组列表JavaScript-获取具有特定值的对象计数,javascript,arrays,javascript-objects,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", }, {
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",
}
]
我想数一数有多少个按键为“issue\u 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']);
var计数={};
对于(变量i=0;i
请给我建议出路。使用并从筛选器返回的数组中获取数组长度
filter()方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素
var testData=[
{
“问题类型”:“警告”,
“创建日期”:“2019-05-13T13:43:16.437Z”,
},
{
“问题类型”:“警告”,
“创建日期”:“2019-05-13T13:45:16.330Z”,
},
{
“问题类型”:“警报”,
“创建日期”:“2019-05-13T13:43:16.437Z”,
},
{
“问题类型”:“警报”,
“创建日期”:“2019-05-13T13:45:16.330Z”,
}
]
console.log(testData.filter(item=>item.issue_type==“Warning”).length)
使用并从filter返回的数组中获取数组长度
filter()方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素
var testData=[
{
“问题类型”:“警告”,
“创建日期”:“2019-05-13T13:43:16.437Z”,
},
{
“问题类型”:“警告”,
“创建日期”:“2019-05-13T13:45:16.330Z”,
},
{
“问题类型”:“警报”,
“创建日期”:“2019-05-13T13:43:16.437Z”,
},
{
“问题类型”:“警报”,
“创建日期”:“2019-05-13T13:45:16.330Z”,
}
]
console.log(testData.filter(item=>item.issue\u type==“Warning”).length)
您可以将该值作为计数键
var testData=[{发布类型:“警告”,创建日期:“2019-05-13T13:43:16.437Z”},{发布类型:“警告”,创建日期:“2019-05-13T13:45:16.330Z”},{发布类型:“警报”,创建日期:“2019-05-13T13:43:16.437Z”},{发布类型:“警报”,创建日期:“2019-05-13T13:45:16.330Z”},
counts=testData.reduce((c,{issue_type:key})=>(c[key]=(c[key]|0)+1,c),{});
控制台日志(计数)代码>您可以将该值作为计数键
var testData=[{发布类型:“警告”,创建日期:“2019-05-13T13:43:16.437Z”},{发布类型:“警告”,创建日期:“2019-05-13T13:45:16.330Z”},{发布类型:“警报”,创建日期:“2019-05-13T13:43:16.437Z”},{发布类型:“警报”,创建日期:“2019-05-13T13:45:16.330Z”},
counts=testData.reduce((c,{issue_type:key})=>(c[key]=(c[key]|0)+1,c),{});
控制台日志(计数)代码>在这种情况下是你最好的朋友。您应该尝试以下方法:
const answer = testData.reduce((accumulator, currentVal) => {
if (currentVal.issue_type === 'Warning') {
accumulator += 1;
}
return accumulator;
}, 0)
在这种情况下,他是你最好的朋友。您应该尝试以下方法:
const answer = testData.reduce((accumulator, currentVal) => {
if (currentVal.issue_type === 'Warning') {
accumulator += 1;
}
return accumulator;
}, 0)
根据您问题的代码片段,以下内容是一个开始。basoc理念:
- 迭代数据数组
- 检查是否存在感兴趣的财产
- 检查属性是否包含感兴趣的值
准确地说,符合条件的项目将被计算在内
您的示例代码片段表明,您可能希望刷新JS语法知识。您可能还想看看其他答案中使用的对数组(例如on)进行操作的内置方法
var testData=[
{
“问题类型”:“警告”,
“创建日期”:“2019-05-13T13:43:16.437Z”,
},
{
“问题类型”:“警告”,
“创建日期”:“2019-05-13T13:45:16.330Z”,
},
{
“问题类型”:“警报”,
“创建日期”:“2019-05-13T13:43:16.437Z”,
},
{
“问题类型”:“警报”,
“创建日期”:“2019-05-13T13:45:16.330Z”,
}
];
函数countPropValue(pa_数据、ps_属性、ps_值){
设n_计数=0;
对于(变量i=0;i log(countPropValue(testData,'issue_type','Warning')代码>根据您问题的代码片段,以下是一个开始。basoc理念:
- 迭代数据数组
- 检查是否存在感兴趣的财产
- 检查属性是否包含感兴趣的值
准确地说,符合条件的项目将被计算在内
您的示例代码片段表明,您可能希望刷新JS语法知识。您可能还想看看其他答案中使用的对数组(例如on)进行操作的内置方法
var testData=[
{
“问题类型”:“警告”,
“创建日期”:“2019-05-13T13:43:16.437Z”,
},
{
“问题类型”:“警告”,
“创建日期”:“2019-05-13T13:45:16.330Z”,
},
{
“问题类型”:“警报”,
“创建日期”:“2019-05-13T13:43:16.437Z”,
},
{
“问题类型”:“警报”,
“创建日期”:“2019-05-13T13:45:16.330Z”,
}
];
函数countPropValue(pa_数据、ps_属性、ps_值){
设n_计数=0;
对于(变量i=0;i log(countPropValue(testData,'issue_type','Warning')代码>您可以简单地使用过滤器
console.log(
testData.filter(({issue\u type})=>issue\u type==='Warning')。长度
)
var testData=[
{
“问题类型”:“警告”,
“创建日期”:“2019-05-13T13:43:16.437Z”,
},
{