Javascript 如何检查对象数组中键的所有值是否为0?

Javascript 如何检查对象数组中键的所有值是否为0?,javascript,Javascript,我在数组中有一个对象 [ { "event":"a", "count":0 }, { "event":"b", "count":0 }, { "event":"c", "count":0 } ] 我需要检查count的所有值是否为零 我试过下面的代码 Object.values(alarmTypeCount).every(count => cou

我在数组中有一个对象

[
    {
        "event":"a",
        "count":0
    },
    {
        "event":"b",
        "count":0
    },
    {
        "event":"c",
        "count":0
    }
]
我需要检查count的所有值是否为零

我试过下面的代码

Object.values(alarmTypeCount).every(count => count === 0)

每次需要对对象进行分解以获取所需属性时,它都返回false

var alarmTypeCount=[{event:a,count:0},{event:b,count:0},{event:c,count:0}], allCountsZero=Object.valuesalarmTypeCount.every{count}=>count==0;
console.logallCountsZero 您需要对“every”函数的参数进行分解

Object.values(alarmTypeCount).every(({ count }) => count === 0)
您可以使用filter方法进行检查

让数组=[ { 事件:a, 计数:0 }, { 事件:b, 计数:0 }, { 事件:c, 计数:0 } ] 让newArray=array.filterobj=>{ 返回obj.count>0; }; ifnewArray.length==0{ console.log所有元素均为零; }否则{ console.lognewArray.length+元素不为零; } 首先,数组上的Object.values是冗余的,因为它只会在数组中为您的案例中的对象提供一个元素数组,这就是您的数组。示例中的count表示数组中的给定对象。您需要访问对象计数属性,如下所示:

alarmTypeCount.every(obj => obj.count === 0)
或者,您可以通过分解分配来完成:

alarmTypeCount.every(({count}) => count === 0)
见下例:

设alarmTypeCount=[{event:a,count:0},{event:b,count:0},{event:c,count:0}];
console.logalarmTypeCount.everyobj=>obj.count==0 使用Array.prototype方法有几个选项,下面是一个总结,包括其他人在这里提到的一些选项:

使用

使用

使用

使用

使用

const isAllZeros = alarmTypeCount.every(a => a.count === 0)
const isAllZeros = !alarmTypeCount.some(a => a.count !== 0)
const isAllZeros = !alarmTypeCount.find(a => a.count !== 0)
const isAllZeros = alarmTypeCount.findIndex(a => a.count !== 0) === -1
const isAllZeros = alarmTypeCount.filter(a => a.count !== 0).length === 0