C# 如何获取对象(数据)的计数
我的代码:C# 如何获取对象(数据)的计数,c#,javascript,jquery,razor,asp.net-mvc-4,C#,Javascript,Jquery,Razor,Asp.net Mvc 4,我的代码: $.post("@(Url.Action("SelectAction", "ControllerName"))", function(data){ // How to get the count of the data(object) }); 如何获取数据(对象)的计数。我使用了数据。计数,但返回为“未定义”如果要计算对象中的属性数,可以使用: 对象。键(数据)。长度 或者,如果需要跨浏览器方法,则需要使用以下方法在对象本身中循环: var count = 0; for
$.post("@(Url.Action("SelectAction", "ControllerName"))", function(data){
// How to get the count of the data(object)
});
如何获取数据(对象)的计数。我使用了
数据。计数
,但返回为“未定义”如果要计算对象中的属性数,可以使用:
对象。键(数据)。长度
或者,如果需要跨浏览器方法,则需要使用以下方法在对象本身中循环:
var count = 0;
for (i in data) {
if (data.hasOwnProperty(i)) {
count++;
}
}
使用其他答案(Object.keys(data.length)
)中指出的方法
但是,如果您想要跨浏览器兼容性,请不要使用临时修复程序。使用垫片。它足够简单,对于更新的浏览器来说会更好。旧浏览器将只使用垫片
快速垫片:
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;
}
来源:它是一个对象,还是实际上是一个字符串或数组?您确定数据传递了一个值吗?
对象。键(数据)。长度在较新的浏览器中应该可以工作。否则,您将不得不迭代对象,因为对象不支持长度。看到这个了吗?