首页 > 解决方案 > 检查对象的所有值,除了一个

问题描述

我有一个 JavaScript。对象看起来像

{date: "2019-10-03", hello: 0, yo: 0, test: 0}

我可以检查对象中的所有值是否==0除了日期之外吗?

我不确定如何进行编码。

标签: javascriptjqueryarraysjsonjavascript-objects

解决方案


使用解构来提取日期和其余属性,并使用Array.reduce计算Object.valuessum的值:

const obj = { date: "2019-10-03", hello: 0, yo: 0, test: 0 };

const { date, ...rest } = obj;

const sum = Object.values(rest).reduce((sum, curr) => sum + curr, 0);
const allZeros = sum === 0 ? true : false;

console.log(allZeros);

(请记住,这将date在当前范围内创建一个变量)

或者,使用Array.every

const obj = { date: "2019-10-03", hello: 0, yo: 0, test: 0 };

const { date, ...rest } = obj;

const allZeros = Object.values(rest).every(e => e === 0);

console.log(allZeros);


推荐阅读