我有一本包含下面显示的键和值的字典。

javascript - Javascript检查对象值的总和是否等于0-LMLPHP

我希望如果字典中的所有值(所有总和)均等于1时出现警告。

我对JavaScript非常陌生,但是已经设法提出了下面的代码。它不起作用,但是我认为我的工作正确。

 for (lstLength.hasOwnProperty(key)) {
    if (sum(lstLength[key]] == 0)){
        window.alert("no data!")
    }
 }


感谢您的任何帮助。

最佳答案

您可以使用Object.values将对象转换为数组。使用reduce对值求和。

喜欢:

Object.values(lstLength).reduce((c, v) => c + v, 0)


示例代码:(带有值)



let lstLength = {
  'property1': 3,
  'property2': 4,
  'property3': 5,
  'property4': 6,
};

if (Object.values(lstLength).reduce((c, v) => c + v, 0) == 0) console.log('no data!')
else console.log('with data!')





示例代码:(无值)



let lstLength = {
  'property1': 0,
  'property2': 0,
  'property3': 0,
  'property4': 0,
};

if (Object.values(lstLength).reduce((c, v) => c + v, 0) == 0) console.log('no data!')
else console.log('with data!')

09-13 02:35