当前位置: 首页 > 知识库问答 >
问题:

如何过滤和映射数组?

武元白
2023-03-14

我有一个需要过滤的对象。

let data = JSON.parse(this.getDataFromArray).map((x: any) => x.isEnabled === true);

我需要输入“数据”,只有“isEnabled”为真的值的ID。

共有3个答案

晋越彬
2023-03-14

可以将filtermap结合使用。

const array = [{
    id: 1,
    isEnabled: true
  },
  {
    id: 2,
    isEnabled: false
  },
]

let data = array.filter(
  ({isEnabled}) => !!isEnabled).map(({id}) => id);

console.log(data)
姜运珧
2023-03-14

请尝试先进行筛选,然后映射到所需的属性:

js prettyprint-override">JSON.parse(this.getDataFromArray).filter((x: any) => x.isEnabled === true).map((result: any) => result.id);
彭存
2023-03-14

使用Array.prototype.flatMap来实现结果。

const dataArray = [
  { id: 1, name: "Alice", isEnabled: false },
  { id: 2, name: "Bob", isEnabled: true },
  { id: 3, name: "Charlie", isEnabled: true },
  { id: 4, name: "Dave", isEnabled: true },
  { id: 5, name: "Eve", isEnabled: false },
  { id: 6, name: "Frank", isEnabled: false },
];
let data = dataArray.flatMap(elm => elm.isEnabled ? [elm.id]: []);
console.log(data);
 类似资料:
  • 我有一个对象数组,我想迭代它来生成一个新的过滤数组。但是,我还需要根据参数从新数组中筛选出一些对象。我正在尝试: 这是一个好的方法吗?有更好的方法吗?我愿意使用任何库,比如洛达什。

  • 我想过滤以下JSON。 我如何将映射函数与过滤器一起使用,而不是。我的想法如下。但它不起作用。 我该怎么办? 谢谢

  • 我刚开始使用RxJava/RxAndroid,在理解如何正确处理背压方面有一些问题。 我有一个文件扫描器,可以扫描目录并发出文件。应尽快处理这些文件,并且不跳过任何文件。 所以管道看起来像这样:<代码>可观察 不幸的是,我收到了rx。例外情况。缺少背压异常错误。所以我读了关于背压的书,如果我理解正确的话,无损耗选项只是缓冲区和窗口。 我试过了BackPressureBuffer()、buffer(

  • 假设我有一张房间清单 每个房间都有一份人员名单。 使用java8 streams,我想迭代房间列表,获取所有人员,在每个节点上执行一些方法(doSomething()),并获取所有过滤对象的列表。 这是使用java 8的最佳实践吗?

  • 问题内容: ,,并且可以在Python 2中完美运行。这是一个示例: 但是在Python 3中,我收到以下输出: 如果有人可以向我解释为什么,我将不胜感激。 问题答案: 你可以在Python 3.0新增功能中阅读有关更改的信息。从2.x升级到3.x时,你应该仔细阅读它,因为已经做了很多更改。 此处的完整答案是文档中的引号。 视图和迭代器而不是列表 一些知名的API不再返回列表: […] 返回迭代器

  • 我正在用Java8为一个文件编写一个解析器。使用读取该文件,并返回一个顺序的。 每一行都映射到一个数据对象,如下所示: 现在我们可以将流中的每一行映射到相应的结果: 但是,流现在包含要删除的值: 如我在中所知,如果需要结果,我如何组合映射/筛选操作?