3

私の質問は短く簡潔です。

たとえば、Jsonオブジェクトの属性を数える必要があります

 obj={
      name:'Jhon',
      age:25
 }

これは 2 を返す必要があります。1 つは「名前」、もう 1 つは「年齢」です。使ってみます。

 obj.count();
 obj.length();

しかし、何も...

私がインターネットで見つけたすべてのソリューションは、配列のカウント要素に対するものでした。

ありがとうございます!

4

3 に答える 3

11

Object.keysを試してみてください。Javascript オブジェクトには組み込みのlengthプロパティやメソッドはありません。

var propCount = Object.keys(obj).length;

一部の古いブラウザー (例: IE < 9) のサポートを追加するには、ソース コードに追加する必要がある Shim があることに注意してください。MDN のドキュメント リンクを読む

于 2013-10-01T21:06:45.093 に答える
3

このようにしてみてください:

Object.keys(obj).length
于 2013-10-01T21:06:47.507 に答える
2

ソリューションに追加するだけでObject.keys(obj).length、Object.keys をサポートしないブラウザー用のポリフィルを次に示します。

Object.keys = Object.keys || function(o,k,r){
    r=[];
    for(k in o){
        r.hasOwnProperty.call(o,k) && r.push(k);
    }
    return r;
}
于 2013-10-01T22:03:29.070 に答える