5

重複の可能性:
jQueryで配列キーをフェッチする方法は?

array_keys(),jqueryで同等のphp組み込み関数は、phpと同様のjqueryの組み込み関数array_keys(),です。

提案してください

4

5 に答える 5

4

同じ機能を得るには、独自の関数を定義する必要があります。これを試して:

function arrayKeys(input) {
    var output = new Array();
    var counter = 0;
    for (i in input) {
        output[counter++] = i;
    } 
    return output; 
}

arrayKeys({"one":1, "two":2, "three":3}); // returns ["one","two","three"]
于 2012-10-09T14:53:12.970 に答える
3

これにはjQueryやその他のライブラリは必要ありません。これはJavascriptの標準部分です。

for(var key in myObject) {
    alert(key);
}

オブジェクトをループするのに十分なはずです。しかし、実際にキーを独自の配列に入れたい場合(つまり、それをphp関数の本物のクローンに変えたい場合)、上記を拡張するのはかなり簡単です。

function array_keys(myObject) {
    output = [];
    for(var key in myObject) {
        output.push(key);
    }
    return output;
}

for(..in..)含めたくないプロパティまたはメソッド(コアシステムプロパティなど)を持つオブジェクトにこの手法を使用する場合は注意が必要ですが、自分で作成した、またはJSON文字列から作成した単純なオブジェクトの場合は理想的です。 。

(警告の詳細については、http://yuiblog.com/blog/2006/09/26/for-in-intrigue/を参照してください

于 2012-10-09T14:49:24.017 に答える
3

いいえ、これについてjQueryに固有のものはありません。javascriptメソッドがありますが、まだ広くサポートされていObject.keys()ないため、一般的なプロジェクトでは使用されません。私が考えることができる最高のことは

var keys = $.map(your_object, function(value, key) {
  return key;
});
于 2012-10-09T14:38:18.110 に答える
1

PHPJSを見てください。これは、最小限の依存関係で多くのPHP関数をバニラJavaScriptで再現することを目的としたプロジェクトです。あなたの場合、あなたは欲しいですarray_keys

于 2012-10-09T14:36:28.470 に答える
1

JavaScriptには、連想配列のようなものはありません。オブジェクト(オブジェクトリテラル)も同様のケースを処理します。

var keys = [], i = 0;    
for( keys[ i++ ] in yourObject );

そして今keys、すべてのyourObjectプロパティ名(キー)が含まれています。

于 2012-10-09T15:00:44.023 に答える