计算 JavaScript 中 For 循环中对象的属性数

Count number of Properties of an Object in a For Loop in JavaScript

我是 JavaScript 的新手,因为我正在尝试通过一些练习来学习,所以我在理解如何使这个简单的东西起作用时遇到了一些问题:

var person = {
  name: 'John Potato',
  age: 31,
  weight: '145kg',
  birthday: 'Some day mid July'
}

然后,在研究了一些关于循环的东西之后..

let counter = 0;

while(counter.length < person){
  counter++;
}
console.log('The person has ' + counter + ' properties')

do{
  console.log(counter++)
} while(counter.length < person[prop]);
console.log('The person has ' + counter + ' properties')

事实是,它们都不像我期望的那样工作。我想要做的就是让它计算对象内部的属性数量 'person'

counter.length 未定义。

您可以使用 Object.keys() 获取所有密钥并获取 length 属性 形式:

var person = {
  name: 'John Potato',
  age: 31,
  weight: '145kg',
  birthday: 'Some day mid July'
}
let counter = Object.keys(person).length;
console.log('The person has ' + counter + ' properties');

您也可以像下面这样使用for...in

var person = {
  name: 'John Potato',
  age: 31,
  weight: '145kg',
  birthday: 'Some day mid July'
}

let counter = 0;
for(var i in person){
  counter++;
}
console.log('The person has ' + counter + ' properties');