如何从另一个 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/