[英]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.