Reputation: 1476
hello everyone i have the following issue, i have an array of JSON object like this :
$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"
}
...
]
i want to create an new array (from the $scope.array_one) that contains only objects with 3 fields
something like this :
[
{
"field2": "value 2",
"field3": "value 3",
"field6": "value 6",
"field8": "value 8"
},
{
"field2": "value 2",
"field3": "value 3",
"field6": "value 6",
"field8": "value 8"
}
...
]
anyone can guide me on how to achieve this, i 'm using Angular js.
Regards !
Upvotes: 1
Views: 1355
Reputation: 386883
You could map the wanted parts with a destruction.
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; }
Upvotes: 2
Reputation: 13953
Using Array#Map()
to create a new array by returning a new object
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);
Upvotes: 1