angular - cómo eliminar todas las propiedades de un objeto en typescript excepto algunas propiedades
Quiero eliminar todas las propiedades del objeto en TypeScript excepto algunas propiedades que quiero que permanezcan en el objeto. Quiero que permanezcan tres propiedades (start_time, latitude y altitude) mi objeto de lista:
listObject= [
{
"start_time":"2018-03-24T08:12:11.706Z",
"latitude":20.4841203,
"longitude":77.8726691,
"duration":0,
"completed_by":0,
"started_by":0
},
{
"start_time":"2018-03-24T08:00:17.441Z",
"latitude":20.4840866,
"longitude":77.8726445,
"altitude":272,
"started_by":0
"duration":10,
},
{
"start_time":"2018-03-24T09:06:28.039Z",
"latitude":20.4840631,
"longitude":77.872614,
"datastream":"ABC",
},
{
"altitude":0,
"latitude":0,
"longitude":0,
"start_time":"2018-03-28T11:26:16.332Z",
"Average":60,
"Name":"Navi",
"Price":42699
}
]
y quiero solo el siguiente objeto de lista:
listObject= [
{
"start_time":"2018-03-24T08:12:11.706Z",
"latitude":20.4841203,
"longitude":77.8726691,
},
{
"start_time":"2018-03-24T08:00:17.441Z",
"latitude":20.4840866,
"longitude":77.8726445,
},
{
"start_time":"2018-03-24T09:06:28.039Z",
"latitude":20.4840631,
"longitude":77.872614,
},
{
"altitude":0,
"latitude":0,
"longitude":0,
"start_time":"2018-03-28T11:26:16.332Z",
}
]
por favor ayúdame..
Respuesta #1
En primer lugar, tu JSON es incorrecto, le faltaban algunos , en las propiedades del objeto. Aquí está el JSON corregido.
También puedes usar array.map() para iterar sobre los objetos y crear nuevos objetos con tus propiedades.
DEMOSTRACIÓN
var listObject=[
{
"start_time": "2018-03-24T08:12:11.706Z",
"latitude": 20.4841203,
"longitude": 77.8726691,
"duration": 0,
"completed_by": 0,
"started_by": 0
},
{
"start_time": "2018-03-24T08:00:17.441Z",
"latitude": 20.4840866,
"longitude": 77.8726445,
"altitude": 272,
"started_by": 0,
"duration": 10
},
{
"start_time": "2018-03-24T09:06:28.039Z",
"latitude": 20.4840631,
"longitude": 77.872614,
"datastream": "ABC"
},
{
"altitude": 0,
"latitude": 0,
"longitude": 0,
"start_time": "2018-03-28T11:26:16.332Z",
"Average": 60,
"Name": "Navi",
"Price": 42699
}
];
var newList = listObject.map(obj => ({start_time: obj.start_time, latitude: obj.latitude, longitude: obj.longitude}));
console.log(newList);