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(data).length

或者,如果您想要跨浏览器的方法,则需要使用以下方法遍历对象本身:

var count = 0;

for (i in data) {
    if (data.hasOwnProperty(i)) {
        count++;
    }
}
于 2012-11-05T10:57:04.663 回答
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 回答