繁体   English   中英

我无法根据 JavaScript [初学者] 中的条件编写 for...in 循环

[英]I am having trouble writing a for…in loop based on a condition in JavaScript [beginner]

我正在尝试修改 function 以返回 16 岁或以上的人数。 我知道我需要一个 for...in 循环。 这就是我所得到的。 请帮忙。

function countLegalDrivers(people){

}

const examplePeopleArray = [
  { name: 'John', age: 15},
  { name: 'Jane', age: 16},
  { name: 'Jack', age: 17}
];

console.log(countLegalDrivers(examplePeopleArray), '<-- should be 2');

您也可以使用过滤器或不使用过滤器

 // with filter function countLegalDrivers(people) { return people.filter(p => p.age >= 16).length; } // with ordinary for loop /* function countLegalDrivers(people) { var count = 0; for(var i=0;i<people.length;i++){ if(people[i].age>=16){ count++; } } return count; } */ const examplePeopleArray = [ { name: "John", age: 15 }, { name: "Jane", age: 16 }, { name: "Jack", age: 17 } ]; console.log(countLegalDrivers(examplePeopleArray));

  function countLegalDrivers(people){
  return people.reduce((prev,cur)=>prev+(cur.age>=16?1:0),0);
}

const examplePeopleArray = [
  { name: 'John', age: 15},
  { name: 'Jane', age: 16},
  { name: 'Jack', age: 17}
];

console.log(countLegalDrivers(examplePeopleArray), '<-- should be 2');

Array.prototype.reduce function 很容易解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM