简体   繁体   English

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

[英]Check all values in hash with javascript

I have hash that looks like this: 我有看起来像这样的哈希:

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

How in Javascript I can check that all values are equal to 100%? 如何在Javascript中检查所有值是否等于100%?

How in Javascript I can check that all values are equal to 100%? 如何在Javascript中检查所有值是否等于100%?

Assuming a valid JavaScript object: 假设一个有效的JavaScript对象:

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

or 要么

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

You can do this: 你可以这样做:

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%"
}

Live Example: 现场示例:

 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> 

Another sample: 另一个示例:

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