2

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.
}
4

1 に答える 1

3

あなたが意味するハッシュセットがオブジェクト(またはハッシュ...)である場合、次の方法でキーが含まれているかどうかを確認できます。

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
于 2012-12-20T11:15:42.740 に答える