示例1:使用for … in计算对象中键的数量
// program to count the number of keys/properties in an object
let student = {
name: 'John',
age: 20,
hobbies: ['reading', 'games', 'coding'],
};
let count = 0;
// loop through each key/value
for(let key in student) {
// increase the count
++count;
}
console.log(count);
输出
3
上面的程序使用for...in
循环计算对象中键/属性的数量。
count
变量最初为0 。然后, for...in
循环将对象中每个键/值的计数增加1 。
注意 :在使用for...in
循环时,它还将计算继承的属性。
例如,
let student = {
name: 'John',
age: 20,
hobbies: ['reading', 'games', 'coding'],
};
let person = {
gender: 'male'
}
student.__proto__ = person;
let count = 0;
for(let key in student) {
// increase the count
++count;
}
console.log(count); // 4
如果只想遍历对象自己的属性,则可以使用hasOwnProperty()
方法。
if (student.hasOwnProperty(key)) {
++count:
}
示例2:使用Object.key()计算对象中的键数
// program to count the number of keys/properties in an object
let student = {
name: 'John',
age: 20,
hobbies: ['reading', 'games', 'coding'],
};
let count = 0;
// count the key/value
let result = Object.keys(student).length;
console.log(result);
输出
3
在上面的程序中, Object.keys()
方法和length
属性用于计算对象中键的数量。
Object.keys()
方法返回给定对象自己的可枚举属性名称的数组,即[“ name”,“ age”,“ hobbies”] 。
length
属性返回数组的长度。