是否有任何内置函数可以返回对象的长度?
例如,我有a = {'a':1,'b':2,'c':3},它应该返回3。如果我使用。length,它返回undefined。
它可以是一个简单的循环函数,但我想知道是否有内置函数?
还有一个相关的问题(JSON对象的长度)——在选择的答案中,用户建议将对象转换为数组,这对我的任务来说不是很舒服。
是否有任何内置函数可以返回对象的长度?
例如,我有a = {'a':1,'b':2,'c':3},它应该返回3。如果我使用。length,它返回undefined。
它可以是一个简单的循环函数,但我想知道是否有内置函数?
还有一个相关的问题(JSON对象的长度)——在选择的答案中,用户建议将对象转换为数组,这对我的任务来说不是很舒服。
当前回答
对于那些来这里查找已经是jQuery对象的项目计数的人: .length就是你想要的长度:
例子:
len = $('#divID').length;
alert(len);
其他回答
也可以这样做:
Object.entries(obj).length
例如:
let obj = { a: 1, b: 2, };
console.log(Object.entries(obj).length); //=> 2
// Object.entries(obj) => [ [ 'a', 1 ], [ 'b', 2 ] ]
可以用$.map()轻松完成:
var len = $.map(a, function(n, i) { return i; }).length;
你可以使用类似Lodash lib的东西,_.toLength(object)应该给你对象的长度
还有一个答案:
var j = '[{“uid”:“1”,“名字”:“宾果男孩”、“profile_img”:“funtimes.jpg”},{“uid”:“2”,“名字”:“约翰尼苹果”,“profile_img”:“badtime.jpg”}]”; obj = Object.keys(j).length; console.log (obj)
这应该做到:
Object.keys(a).length
然而,对象。在IE8及以下版本、Opera和FF 3.6及以下版本不支持。
现场演示:http://jsfiddle.net/simevidas/nN84h/