javascript - 创建由另一个对象列表中的特定字段组成的新 JSON 对象列表

标签 javascript angularjs json

如何从另一个 JSON 列表创建仅包含特定对象字段(列(?))的 JSON 列表?

我需要创建一个 JSON 对象列表,其中新列表的字段和值取自另一个现有列表,其中现有字段是我想要的特定字段。

例如,用户将选择一个 CSV 文件,我将数据提取到一个 JSON 列表中(使用 papaparse),这个 CSV 可以有任意数量的列,但我只需要其中的 4 个。这 4 列将始终具有相同的标题名称,当我将数据传递给 JSON 时,该名称将成为字段名称。我怎样才能只用来自字段的全部值创建一个新列表,例如“IdApplication”和“AccountNumber”?

因此,如果我有来自用户的 JSON,例如:

$scope.TestList = [
   {id: 1, name: 'Bob', age: 23, bio: 'Duck Toaster'},
   {id: 2, name: 'Tom', age: 69, bio: 'Banana Sharks'}
];

我如何只获取 id 和 age 字段并创建一个新列表,如:

$scope.NewTestList = [
   {id: 1, age: 23},
   {id: 2, age: 69}
];

我查看了 .push() 等循环遍历每个对象并添加到新列表,但这似乎只是将新项目添加到数组而不是将新对象添加到数组。理想情况下,不必循环遍历数万个列表对象以添加到另一个列表也很好,这是一种理想的批量添加方式。

最佳答案

可以使用数组map()方法;

$scope.NewTestList = $scope.TestList.map(el => ({
    id: el.id,
  name: el.name
}));

关于javascript - 创建由另一个对象列表中的特定字段组成的新 JSON 对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50624929/

相关文章:

java - jackson : avoiding exceptions due to unmodeled fields

java - 错误 :java. io.FileNotFoundException

javascript - 跟踪第一个按键事件

javascript - 使用 JavaScript 在 OpenLayers 中绘制一 strip 线的路径

angularjs - 传单 map 的大小不适合目标元素的尺寸

javascript - Angular 字符编码问题

javascript - postman :如何评估 json 数组

javascript - 如何通过在 React 中克隆元素来向特定元素添加 prop?

javascript - 在 Bootstrap 模式中显示 sumoselect

javascript - Angular 路由解析调用服务