Je ne suis pas très doué avec le filtre ou la carte ou la transformation des données JSON que j'ai récupérées sur le serveur et je recherche quelqu'un pour me guider dans cette fonction que j'ai essayée qui récupère avec succès les données JSON. Cependant, je cherche un moyen de récupérer simplement l ' id de chaque clé et de transformer l' id en une variable qui peut être utilisée dans une autre fonction lors d'un POST ou PUT fonction dans le même TypeScript. Merci d'avance.
(2) [{â¦}, {â¦}]
0: {id: 3, type: "task", contact_id: 391, contact_details: {â¦}, created_by: {â¦}, â¦}
1: {id: 1, type: "task", contact_id: 390, contact_details: {â¦}, created_by: {â¦}, â¦}
Données JSON
getActivities() {
var service = this;
let url = service.appConfig.Shop_URL + "/wp-json/erp/v1/crm/activities?type=task";
url = this.initUrl(url, '');
var headers = new Headers();
headers.append('Authorization', 'Bearer ' + service.userService.token);
headers.append('Content-Type', 'application/json');
return new Promise(function (resolve, reject) {
service.http.get(url, { headers: headers }).pipe(map(res => res.json())).subscribe(data => {
if (data) {
service.cachedData = data;
console.log(data);
resolve(service.cachedData);
}
else {
reject();
}
});
});
}
3 Réponses :
Vous devez utiliser Array.map
var result1 = [
{id:1, name:'Sandra', type:'user', username:'sandra'},
{id:2, name:'John', type:'admin', username:'johnny2'},
{id:3, name:'Peter', type:'user', username:'pete'},
{id:4, name:'Bobby', type:'user', username:'be_bob'}];
var data = result1.map(t=>t.id);
console.log(data);DEMO
this.ids = data.map(x => x.id);
Je pense que la manière de récupérer l'id serait
json_variable_name[index].get("id")
Comme il s'agit d'un dictionnaire, nous utilisons la méthode get. J'espère que cela vous aidera.
La fonction map est utilisée pour mapper chaque élément du tableau et retourne et crée un nouveau tableau dans la variable id. La fonction map n'est utilisée que dans le tableau
var data= [{id:12,name:"kiran"},{id:21,name:"hey"}];
var id=data.map((element,i)=>(element.id));
pas lié, mais pourquoi enveloppez-vous cela dans une promesse? Les observables rxjs sont puissants et ont tellement d'opérateurs différents.