0

私のコード:

$.post("@(Url.Action("SelectAction", "ControllerName"))", function(data){
    // How to get the count of the data(object)
});

データ(オブジェクト)の数を取得する方法。使用しましたが、「未定義data.count」として返されます。

4

2 に答える 2

0

Object.keys他の回答で指摘されているように使用してください( Object.keys(data).length)。

ただし、ブラウザー間の互換性が必要な場合は、一時的な修正を使用しないでください。シムを使用します。これは十分に単純で、新しいブラウザーには適しています。古いブラウザは単に shim を使用します。

クイックシム:

if (!Object.keys) Object.keys = function(o) {
  if (o !== Object(o))
    throw new TypeError('Object.keys called on a non-object');
  var k=[],p;
  for (p in o) if (Object.prototype.hasOwnProperty.call(o,p)) k.push(p);
  return k;
}

ソース: http://tokenposts.blogspot.com.au/2012/04/javascript-objectkeys-browser.html

于 2012-11-05T11:01:56.520 に答える
0

いいえを数えたい場合。オブジェクトのプロパティのうち、次のものを使用できます。

Object.keys(data).length

または、クロスブラウザーのアプローチが必要な場合は、次を使用してオブジェクト自体をループする必要があります。

var count = 0;

for (i in data) {
    if (data.hasOwnProperty(i)) {
        count++;
    }
}
于 2012-11-05T10:57:04.663 に答える