Salut j'ai du mal à traverser en objet javascript. Comment puis-je obtenir schema_name et NAV des deux et les stocker dans une variable comme "Vous avez 2 schémas liés à votre compte. Schema_n1 La valeur NAV est" "schema_name2 La valeur NAV est" "et ainsi de suite. Veuillez me l'expliquer merci

  let data = [{
  "CustomerID": 12345,
  "NAV": "95.24059718",
  "cost_of_purchase": 799900,
  "folio_number": 10007060,
  "id": 1,
  "mutual_fund_house": "AXIS MUTUAL FUND",
  "no_of_units": 15000,
  "option": "GROWTH",
  "plan": "REGULAR",
  "resource_uri": "/api/v1/folio/1/",
  "scheme_name": "AXIS LONG TERM EQUITY",
  "value_of_units": "1428608.9580"
}, {
  "CustomerID": 12345,
  "NAV": "1053.31517400",
  "cost_of_purchase": 1500000,
  "folio_number": 5540000567,
  "id": 2,
  "mutual_fund_house": "SBI Mutual Fund",
  "no_of_units": 2750,
  "option": "DIVIDEND",
  "plan": "DIRECT",
  "resource_uri": "/api/v1/folio/2/",
  "scheme_name": "SBI Magnum Multicap Fund",
  "value_of_units": "2896616.7270"
}]
0
Meet Singh 19 nov. 2018 à 18:31

4 réponses

Meilleure réponse

Il semble que vous essayiez de mapper cet objet à un autre objet.

Tout d'abord, essayez de lire et de comprendre les méthodes de tableau, vous pouvez vérifier:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

Et pour la méthode de la carte, vous pouvez vérifier:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

Et comme réponse spécifique, vous pouvez faire:

const mappedData = data.map(function(item) {
    return {
        scheme_name: item.scheme_name,
        NAV: item.NAV
    };
});

Cela vous renverra un tableau d'une version simplifiée de la vôtre.

Après cela, vous pouvez le convertir en une chaîne comme:

let solution = `You have ${mappedData.length} schemes linked to your account. `;
mappedData.forEach(function(mapped) {
    solution += mapped.scheme_name + ' is ' + mapped.NAV + ' '
});

Remarque: J'ai montré une méthode de carte pour donner un aperçu de ce que vous pouvez faire, normalement vous n'avez pas besoin de simplifier, vous pouvez utiliser directement pour chaque version.

0
cenk ebret 19 nov. 2018 à 16:00

Imaginez chacun de vos objets (dans ce cas, vous en avez fourni deux (2)) en tant que tableau associatif à l'intérieur d'un tableau. Cela signifie que plutôt que de le référencer par sa position d'index, vous pouvez le référencer par sa clé.

Cela signifie que pour accéder à l'objet 1, vous devez écrire des données [0]. Mais si vous l'avez alerté, cela vous dirait simplement que la donnée [0] est un objet. Ce qui est.

Pour accéder à une valeur réelle dans ce tableau, vous devrez alors fournir la clé, ce que vous pouvez faire en fournissant un nombre, ou dans votre cas peut-être plus facilement, c'est la clé associée, qui est "schéma_nom".

Voir ce qui suit:

let data = [{
  "CustomerID": 12345,
  "NAV": "95.24059718",
  "cost_of_purchase": 799900,
  "folio_number": 10007060,
  "id": 1,
  "mutual_fund_house": "AXIS MUTUAL FUND",
  "no_of_units": 15000,
  "option": "GROWTH",
  "plan": "REGULAR",
  "resource_uri": "/api/v1/folio/1/",
  "scheme_name": "AXIS LONG TERM EQUITY",
  "value_of_units": "1428608.9580"
}, {
  "CustomerID": 12345,
  "NAV": "1053.31517400",
  "cost_of_purchase": 1500000,
  "folio_number": 5540000567,
  "id": 2,
  "mutual_fund_house": "SBI Mutual Fund",
  "no_of_units": 2750,
  "option": "DIVIDEND",
  "plan": "DIRECT",
  "resource_uri": "/api/v1/folio/2/",
  "scheme_name": "SBI Magnum Multicap Fund",
  "value_of_units": "2896616.7270"
}]

for (let i = 0; i < data.length; i++) {
  alert(data[i]["scheme_name"]);
}

Donc, tout simplement, pour i = 0, avec i étant inférieur au nombre de tableaux associatifs dans votre tableau nommé data, alerter la valeur sur ce tableau indexé, par la clé associée.

0
cmprogram 19 nov. 2018 à 15:41

J'ai créé un exemple de violon pour vous. Vous devez parcourir chaque objet de votre objet principal et stocker toutes les informations à l'extérieur.

data.forEach(function(item) {
  console.log(item.scheme_name);
});
-1
dganenco 19 nov. 2018 à 15:40

Vous avez un tableau de data donc vous devez d'abord parcourir ce tableau.

Choisissez les propriétés que vous souhaitez conserver par enregistrement et enregistrez-les dans un tableau results.

Une fois que vous avez les résultats, vous pouvez les parcourir et imprimer vos enregistrements individuels.

let data = [{"CustomerID":12345,"NAV":"95.24059718","cost_of_purchase":799900,"folio_number":10007060,"id":1,"mutual_fund_house":"AXIS MUTUAL FUND","no_of_units":15000,"option":"GROWTH","plan":"REGULAR","resource_uri":"/api/v1/folio/1/","scheme_name":"AXIS LONG TERM EQUITY","value_of_units":"1428608.9580"},{"CustomerID":12345,"NAV":"1053.31517400","cost_of_purchase":1500000,"folio_number":5540000567,"id":2,"mutual_fund_house":"SBI Mutual Fund","no_of_units":2750,"option":"DIVIDEND","plan":"DIRECT","resource_uri":"/api/v1/folio/2/","scheme_name":"SBI Magnum Multicap Fund","value_of_units":"2896616.7270"}]

let results = []
data.forEach(datum => {
  results.push({
    scheme_name: datum.scheme_name,
    nav: datum.NAV,
  })
})

console.log(`You've got ${results.length} items in your account.`)
results.forEach(result => {
  console.log(`${result.scheme_name} - NAV value is: ${result.nav}`)
})
0
ksav 19 nov. 2018 à 15:55