2

オブジェクトにキー/値を1つだけ持っている場合、キー名を知らなくてもそれらを取得するにはどうすればよいですか?(可能であれば)

var m = {x:5}; // we don't know x is the key
4

2 に答える 2

1

hasOwnPropertyこのようなものに 使用できますhttps://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/HasOwnProperty

var m = {x:5};

function keys(obj)
{
    var keys = [];

    for(var key in obj)
    {
        if(obj.hasOwnProperty(key)) {    
        {
            keys.push(key);
        }
    }

    return keys;
}

console.log(m);

したがって、この知識を使用して、特定のキーがオブジェクトに存在するかどうかを基本的にチェックする関数を作成できます。

function hasKey(obj, key) {
   return obj.hasOwnProperty(key);
}
于 2012-04-22T17:28:12.980 に答える
0

for…inブラウザーが ES5 をサポートしている (または ES5 用のシムがある) 場合のループの代替:

var key = Object.keys(m)[0];

参照: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/keys

于 2012-04-22T17:32:27.967 に答える