For example I have this array, if I stringfy it it would be like this:
[{"car":"Toyota","ID":"1", "Doors": "4", "price": "20.000"},{"car":"Chevrolet","ID":"2", "Doors": "2", "price": "15.000"}]
How can I do for remove from the 2 cars: the doors and price. And only leave in the array "car" and "id"? For example:
[{"car":"Toyota","ID":"1"},{"car":"Chevrolet","ID":"2"}]
Thank you!
let arr = [{"car":"Toyota","ID":"1", "Doors": "4", "price": "20.000"},{"car":"Chevrolet","ID":"2", "Doors": "2", "price": "15.000"}]
let arr1 = arr.map(({car, ID}) => ({car, ID}));
let arr2 = arr.map(({Doors, price, ...remainingAttrs}) => remainingAttrs);
console.log('arr1:', arr1);
console.log('arr2:', arr2);
With ES6 syntax, you can deconstruct each object to create new one without writing a loop.
In your case, total number of fields remaining is same as the total number of deleted Following are the two approaches:
const arr1 = arr.map(({car, ID}) => ({car, ID}))
const arr2 = arr.map(({Doors, price, ...remainingAttrs}) => remainingAttrs)
You can use Array.prototype.map() to customise your result array, taking a callback function as parameter which returns a new customised object, having only car and ID properties, in each iteration.
The map() method creates a new array with the results of calling a provided function on every element in the calling array.
This is how should be your code:
var results = arr.map(function(item){
return {car : item["car"], ID : item["ID"]}
});
Demo:
var arr = [{"car":"Toyota","ID":"1", "Doors": "4", "price": "20.000"},{"car":"Chevrolet","ID":"2", "Doors": "2", "price": "15.000"}];
var results = arr.map(function(item){
return {car : item["car"], ID : item["ID"]}
});
console.log(JSON.stringify(results));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With