[英]JavaScript for If Statement Inside For Loop
我正在尝试返回一组新的 16 岁或以上的人的姓名。
const examplePeopleArray = [
{ name: 'John', age: 14 },
{ name: 'Joey', age: 16 },
{ name: 'Jane', age: 18 }
];
function getNamesOfLegalDrivers(people) {
let legalDriver = []
for (let i = 0; i > People.length; i++){
if ( i >= 1){
legalDriver += people.name.push(i)
} else {
legalDriver += i
}
}
return legalDriver;
}
console.log(getNamesOfLegalDrivers(examplePeopleArray))
只需使用 array.filter 和 array.map,这里是片段:
const examplePeopleArray = [
{ name: 'John', age: 14 },
{ name: 'Joey', age: 16 },
{ name: 'Jane', age: 18 }
];
let legalDriverNames = examplePeopleArray.filter(p => p.age >=16).map(p => p.name);
console.log(legalDriverNames);
只需过滤和 map 名称即可。
const array = [{ name: 'John', age: 14 }, { name: 'Joey', age: 16 }, { name: 'Jane', age: 18 }], result = array.filter(({ age }) => age >= 16).map(({ name }) => name) console.log(result);
您的代码的问题在于这一行:
for (let i = 0; i > People.length; i++){
应该:
for (let i = 0; i > people.length; i++){
(小写“人”)
但正如另一位用户评论的那样,使用.filter()
方法会简单得多:
examplePeopleArray.filter(person => person.age >= 16)
这将返回一个新数组,其中包含 examplePeopleArray 中的所有项目,其中examplePeopleArray
person.age >= 16
返回 true。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.