javascript - 将数组中的所有键值推送到新数组中,只要不同键的值(在同一对象中)满足特定条件

标签 javascript arrays string function javascript-objects

描述我正在寻找的解决方案的最佳方式是为此创建一个函数的优雅方式:

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)上的函数,例如 filtermap

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/

相关文章:

javascript - 使用 JavaScript/jQuery 和 AJAX 模拟超时触发器

javascript - 使用 Jquery Javascript 编辑 json 文件数据并将其保存在磁盘上

javascript - jquery 对话框小部件不保留父级

arrays - 在将数组发送到 CakePHP 中的 View 之前,如何使用 Controller 中的 Set::功能来操作该数组?

arrays - node.js 在 Intervall 中迭代数组一定次数

string - 字节收集到 clojure 上的字符串

javascript - 如何为特定于浏览器的 css 表达式做回退

javascript - 如何在 JavaScript 中使用索引过滤数组数组?

string - 删除字符串中包含 slice 中单词的所有单词

c - Arduino:将十六进制字符串转换为 uint64 或十进制字符串