如何获取对象的数量(数据)

时间:2012-11-05 10:48:30

标签: c# javascript jquery razor asp.net-mvc-4

我的代码:

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

如何获取数据(对象)的数量。我使用data.count但是返回“未定义”。

2 个答案:

答案 0 :(得分:0)

如果你想算不上。对象中的属性,您可以使用:

  

Object.keys(数据)。长度

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

var count = 0;

for (i in data) {
    if (data.hasOwnProperty(i)) {
        count++;
    }
}

答案 1 :(得分:0)

使用其他答案(Object.keys(data).length)中指出的Object.keys

如果您想要跨浏览器兼容性,请不要使用临时修补程序。使用垫片。这很简单,对于较新的浏览器会更好。旧浏览器只会使用填充程序。

快速垫片:

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