描述我正在寻找的解决方案的最佳方式是为此创建一个函数的优雅方式:
function getNamesOfLegalDrivers(people) {
}
const examplePeopleArray = [
{ name: 'John', age: 14 },
{ name: 'Joey', age: 16 },
{ name: 'Jane', age: 18 }
];
console.log(getNamesOfLegalDrivers(examplePeopleArray), '<-- should print all names over 16, and thus be ["Joey", "Jane"]');
最佳答案
您正在寻找 Array
原型(prototype)上的函数,例如 filter
和 map
。
Javascript
function getNamesOfLegalDrivers(people) {
return people
.filter(function(person) { return person.age >= 16; })
.map(function(person) { return person.name; });
}
来自 MDN 的文档
- Array.prototype.filter
filter()
方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。 - Array.prototype.map
map()
方法创建一个新数组,其中包含对调用数组中每个元素调用所提供函数的结果。
关于javascript - 将数组中的所有键值推送到新数组中,只要不同键的值(在同一对象中)满足特定条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53616387/