如何使用 Angular js 从另一个数组创建 JSON 对象的数组

How to create array of JSON object from another array using Angular js

大家好,我有以下问题, 我有一个像这样的 JSON 对象数组:

$scope.array_one=[

  {
    "field1": "value 1",
    "field2": "value 2",
    "field3": "value 3",
    "field4": "value 4",
    "field5": "value 5",
    "field6": "value 6",
    "field7": "value 7",
    "field8": "value 8"
  },
  {
    "field1": "value 1",
    "field2": "value 2",
    "field3": "value 3",
    "field4": "value 4",
    "field5": "value 5",
    "field6": "value 6",
    "field7": "value 7",
    "field8": "value 8"
  }

  ...
]

我想创建一个新数组(来自 $scope.array_one),它只包含具有 3 个字段的对象

像这样:

[

  {

    "field2": "value 2",
    "field3": "value 3",
    "field6": "value 6",
    "field8": "value 8"
  },
  {
    "field2": "value 2",
    "field3": "value 3",
    "field6": "value 6",
    "field8": "value 8"
  }

  ...
]

任何人都可以指导我如何实现这一点,我正在使用 Angular js。

此致!

使用Array#Map()通过返回一个新对象创建一个新数组

let array_one = [
  {
    "field1": "value 1",
    "field2": "value 2",
    "field3": "value 3",
    "field4": "value 4",
    "field5": "value 5",
    "field6": "value 6",
    "field7": "value 7",
    "field8": "value 8"
  },
  {
    "field1": "value 1",
    "field2": "value 2",
    "field3": "value 3",
    "field4": "value 4",
    "field5": "value 5",
    "field6": "value 6",
    "field7": "value 7",
    "field8": "value 8"
  }
];

let newArray = array_one.map(f => ({
  field2 : f.field1,
  field3 : f.field3,
  field6 : f.field6,
  field8 : f.field8,
}));

console.log(newArray);

你可以用破坏来映射想要的部分。

var $scope = { array_one: [{ field1: "value 1", field2: "value 2", field3: "value 3", field4: "value 4", field5: "value 5", field6: "value 6", field7: "value 7", field8: "value 8" }, { field1: "value 1", field2: "value 2", field3: "value 3", field4: "value 4", field5: "value 5", field6: "value 6", field7: "value 7", field8: "value 8" }] },
    result = $scope.array_one.map(
        ({ field2, field3, field6, field8 }) => ({ field2, field3, field6, field8 })
    );

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }