繁体   English   中英

使用JavaScript检查哈希中的所有值

[英]Check all values in hash with javascript

我有看起来像这样的哈希:

{ .user_import_163="100%", .user_import_164="99%"}

如何在Javascript中检查所有值是否等于100%?

如何在Javascript中检查所有值是否等于100%?

假设一个有效的JavaScript对象:

var obj = {
    user_import_163: "100%",
    user_import_164: "99%"
};

要么

var obj = {
    ".user_import_163": "100%",
    ".user_import_164": "99%"
};

你可以这样做:

if (Object.keys(obj).some(function(k) { return obj[k] !== "100%"; })) {
    // At least one isn't equal to "100%"
} else {
    // All are equal to "100%"
}

现场示例:

 snippet.log("(true = at least one property is NOT 100%)"); test(1, { user_import_163: "100%", user_import_164: "99%" }, true ); test(2, { user_import_163: "100%", user_import_164: "100%" }, false ); function test(num, obj, expectedResult) { var result = Object.keys(obj).some(function(k) { return obj[k] !== "100%"; }); snippet.log( "Test #" + num + ": Got " + result + ", expected " + expectedResult + " <== " + (!result === !expectedResult ? "good" : "ERROR") ); } 
 <!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 --> <script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script> 

另一个示例:

var data = { a: '100%', b: '99%' }

var check = function(obj) {
  var correct = true;

  for (key in obj) {
    if (obj[key] != '100%') correct = false;
  }

  return correct;
}

check(data); // return false
check({ a: '100%', b: '100%' }); // return true

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM