如何在hashset
中检查javascript
是否包含特定值?我尝试过以下无效的方法:
if (hashset.contains(finalDate)) {
alert("inside if");
}
我的js代码:
$.each(cdata.lines, function(idx, line){
// line.hashsetvariable is my hashset which contain all dates and
// let finaldate is 2012-19-12
// I want to check this date in my hashset.
}
答案 0 :(得分:2)
如果您指的是散列集是一个对象(或散列...),那么您可以通过以下方式检查它是否包含密钥:
var hash = { foo: 'bar', baz: 'foobar' };
'foo' in hash;
如果您寻找特定价值:
function containsValue(hash, value) {
for (var prop in hash) {
if (hash[prop] === value) {
return true;
}
return false;
}
}
如果你想做一些更“全球化”的事情(我不推荐!)你可以改变对象的原型,如:
Object.prototype.containsValue = function (value) {
for (var prop in this) {
if (this[prop] === value) {
return true;
}
}
return false;
}
在这种情况下:
var test = { foo: 'bar' };
test.containsValue('bar'); //true
test.containsValue('foobar'); //false