4

JavaScript オブジェクトに特定の変数が含まれているかどうかを知る必要があります。

EG: 'map' に 'here' が含まれているかどうかを確認します

var map = {
    '10': '0',
    '20': '0',
    '30': 'here',
    },
4

2 に答える 2

4

オブジェクトをループしてテストする必要があります。

var chk = false;
for(var key in map){
    if(map[key] == "here"){
        chk = true;
        break;
    }
}
alert(chk?"Yup":"Nah");

Objectこれをプロトタイプに入れることもできます:

Object.prototype.ifExist = function(txt){
    var chk = false;
    for(var key in this){
        if(this[key] == txt){
            chk = true;
            break;
        }
    }
    return chk;
}

//map.ifExist("here");
//return true

デモ: http://jsfiddle.net/DerekL/yWnYy/

于 2012-12-09T06:01:35.480 に答える
1

for..in次の構文を使用して、オブジェクトを反復処理する必要があります。

function in_object(value, object) {
    for (var key in map) {
        if (map[key] == value) {
            return true;
        }
    }

    return false;
}

次に例を示します。

> in_object('heres', map)
false
> in_object('here', map)
true
于 2012-12-09T06:02:22.383 に答える