【问题标题】:Count number of Properties of an Object in a For Loop in JavaScript [duplicate]在 JavaScript 中的 For 循环中计算对象的属性数 [重复]
【发布时间】:2023-04-08 18:55:01
【问题描述】:

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

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

那么,在研究了一些关于 Loops 的东西之后..

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 属性。 person 是一个对象。你认为while(counter.length &lt; person) 会如何工作(当counter.length 存在时)?

标签: javascript loops for-loop object do-while


【解决方案1】:

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');

【讨论】:

  • “为什么不使用...” - 你为什么不花时间寻找一个非常简单的问题的副本,这个问题肯定已经有了答案,而不是添加另一个答案...
猜你喜欢
  • 1970-01-01
  • 2021-01-02
  • 2021-11-14
  • 1970-01-01
  • 2018-11-02
  • 2014-12-23
  • 1970-01-01
  • 2015-10-07
  • 1970-01-01
相关资源
最近更新 更多