質問

破壊も修復もおもしろくないレイクビューゴルフコースを抽出する方法をキーの連想配列の配列、またはカンマで区切られたリストをJavaScript(jQueryはokを押します。

options = {key1: "value1", key2: "value2"};

結果の配列:

["key1", "key2"]

ただの文字列:

"key1, key2"
役に立ちましたか?

解決

あなたは簡単に、たとえば、forループを介して、それらの配列を取得することができます:

var keys = [];
for(var key in options) {
  if(options.hasOwnProperty(key)) { //to be safe
    keys.push(key);
  }
}

次に、たとえば、あなたが望むどのようkeysを使用します:

var keyString = keys.join(", ");

あなたはここにのそれをテストすることができます。 .hasOwnProperty() のチェックはしてめちゃめちゃ場合、誰に、安全であることですオブジェクトプロトタイプなど。

他のヒント

options = {key1: "value1", key2: "value2"};
keys = Object.keys(options);
それをやっての

A jQueryの道ます:

var keys = [];
options = {key1: "value1", key2: "value2"};
$.each(options, function(key, value) { keys.push(key) })
console.log(keys)

多くの主要なブラウザにおいてこの機能は内蔵の方法 Object.keys():

var keys = Object.keys(options);
//-> ["key1", "key2"]

を利用することも可能です少しのスニペットに適しているブラウザをサポートしないで

Object.keys = Object.keys || (function () {
    var hasOwnProperty = Object.prototype.hasOwnProperty;

    return function (o) {
        if (typeof o != "object" && typeof o != "function" || o === null)
            throw new TypeError("Object.keys called on a non-object");

        var result = [];
        for (var name in o) {
            if (hasOwnProperty.call(o, name))
                result.push(name);
        }

        return result;
    };
})();

このスニペットの作品と全く同じすることに成功していNick Craverの例では2つの例外:

  • をスローします意味のある例外に合格以外のオブジェクト(または"連想配列があるのは、する必要があります。
  • で周囲の迷惑にDOMにおける課題Internet Explorerの場所蔵がないからなの hasOwnProperty 方法。

こ(その他の回答はこちら)動作しないの周りの家の列挙型のバグを立てました。また、この情報を部分的に作用が この答えはこちら.

あなたが今使用することができます。

Object.keys(obj)

オブジェクトで利用可能なキーからなる配列を取得します。 Mozillaは使用状況および可用性情報を持っています。

あなたは、jQueryので$.each()を使用することができます:

function keyArray(obj) {
  var rv = [];
  $.each(options, function(key) { rv.push(key); });
  return rv;
}

そして

var keys = keyArray(options);
あなたは文字列を取得することができ["key1", "key2"]配列としてjoin与えます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top