检查元素是否在hashset中

时间:2012-12-20 11:07:41

标签: javascript jquery hashset

如何在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.
}

1 个答案:

答案 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