Javascript 获取对象中项目列表的长度?
Javascript Get length of list of items in object?
我目前有一个 Javascript 对象,如下所示:
Object {0: 8, 1: 9, 2: 10}
我正在尝试获取对象中单个项目的数量(即 3),但不知道如何操作。由于对象不是数组,我不能只调用 .length()
。我尝试 huntsList[2].toString().split('.').length
在逗号处拆分项目并以这种方式计算它们,但它 returns 1,因为它将整个对象转换为单个字符串,如下所示:["[object Object]"]
。
如有任何关于如何实现此目标的建议,我们将不胜感激。
您可以使用 Object.keys
获取密钥,其中 returns 一个密钥数组:
var obj = {0: 8, 1: 9, 2: 10};
var keys = Object.keys(obj);
var len = keys.length
您可以使用 Object.keys()
。它 returns 一个对象的键数组。
var myObject = {0: 8, 1: 9, 2: 10};
console.log(Object.keys(myObject).length)
1: ES5.1解决方案使用Object.keys - returns给定对象自身可枚举属性的数组
var obj = {
0: 8,
1: 9,
2: 10
}
console.log(Object.keys(obj).length)
2:ES5 之前的解决方案:使用 for..in 和 hasOwn
var obj = {
0: 8,
1: 9,
2: 10
};
var propsLength = 0;
for (prop in obj) {
if (obj.hasOwnProperty(prop)) {
propsLength = propsLength + 1;
}
}
console.log(propsLength);
3:库方案:使用lodash/underscore转成数组,查询长度,如果需要纯js方案,可以看看toArray的实现方式
console.log(_.toArray({
0: 8,
1: 9,
2: 10
}).length)
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore.js"></script>
var obj = {0: 8, 1: 9, 2: 10};
alert(Object.keys(obj).length);
用这段代码,尝试提醒你对象的长度!
我目前有一个 Javascript 对象,如下所示:
Object {0: 8, 1: 9, 2: 10}
我正在尝试获取对象中单个项目的数量(即 3),但不知道如何操作。由于对象不是数组,我不能只调用 .length()
。我尝试 huntsList[2].toString().split('.').length
在逗号处拆分项目并以这种方式计算它们,但它 returns 1,因为它将整个对象转换为单个字符串,如下所示:["[object Object]"]
。
如有任何关于如何实现此目标的建议,我们将不胜感激。
您可以使用 Object.keys
获取密钥,其中 returns 一个密钥数组:
var obj = {0: 8, 1: 9, 2: 10};
var keys = Object.keys(obj);
var len = keys.length
您可以使用 Object.keys()
。它 returns 一个对象的键数组。
var myObject = {0: 8, 1: 9, 2: 10};
console.log(Object.keys(myObject).length)
1: ES5.1解决方案使用Object.keys - returns给定对象自身可枚举属性的数组
var obj = {
0: 8,
1: 9,
2: 10
}
console.log(Object.keys(obj).length)
2:ES5 之前的解决方案:使用 for..in 和 hasOwn
var obj = {
0: 8,
1: 9,
2: 10
};
var propsLength = 0;
for (prop in obj) {
if (obj.hasOwnProperty(prop)) {
propsLength = propsLength + 1;
}
}
console.log(propsLength);
3:库方案:使用lodash/underscore转成数组,查询长度,如果需要纯js方案,可以看看toArray的实现方式
console.log(_.toArray({
0: 8,
1: 9,
2: 10
}).length)
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore.js"></script>
var obj = {0: 8, 1: 9, 2: 10};
alert(Object.keys(obj).length);
用这段代码,尝试提醒你对象的长度!