【问题标题】:Angular How to Fetch or select data from arrayAngular如何从数组中获取或选择数据
【发布时间】:2021-07-09 21:17:32
【问题描述】:

我有两个数据集合 1,其中包含标题数据或要显示的列。

另一个是实际的数据源。

现在我必须从该 JSON 数据中做些什么,我必须只选择该标题列表中的数据。

以下是数据样本

标题数据数组:["Execution_Plan_Note", "Budget", "Reporting_Period", "Budget_Note", "Spend_Plan_Note", "Spend_Plan"]

和实际数据源

因此,从下面的集合中,我只想要新对象的标头数据数组中的数据 如果任何 1 有一个想法让我知道我已经尝试了几乎所有东西,我该如何实现这一点。

【问题讨论】:

  • “我已经尝试了几乎所有方法” 请在您的问题中包含这些尝试,以便我们不再向您推荐它们。包括尽可能多的调试细节和尝试,以提供minimal reproducible example
  • 只需要了解如何根据我的标题数据或标题键从 JSON 数组中过滤数据。
  • 最简单的就是list.map(({key1, key2}) => ({key1, key2}))
  • 你当然可以用一些reducemap来实现它,或者看看lodash.picknpmjs.com/package/lodash.pick
  • @Ravikumar 我会尝试你的方式让你知道

标签: javascript angular typescript rxjs


【解决方案1】:

您可以尝试使用mapreduce,如下所示。

const keysArray = ['a', 'b'];
const list = [{a: 'a', b: 'b', c: 'c'}, {a: 'a1', b: 'b1', c: 'c1'}, {a: 'a2', b: 'b2', c: 'c2'}];

const result = list.map(item => keysArray.reduce((acc, key) => {
 acc[key] = item[key];
return acc;
}, {}));

console.log(result);

【讨论】:

    猜你喜欢
    • 2020-03-03
    • 1970-01-01
    • 2019-03-23
    • 2020-12-19
    • 2016-02-03
    • 2014-09-27
    • 2014-11-21
    • 2018-02-11
    • 2021-09-14
    相关资源
    最近更新 更多