Js : récupérer un élément dans un array

WRInaute impliqué
Bonjour, ma variable "chart" me retourne le résultat ci dessous. Sachant que chaque élément change de valeur dans le temps, comment je peux faire pour récupérer uniquement par exemple le dernier low (0.00100080). Merci d'avance.

console.info(chart); donne le résultat ci dessus :


Code:
{
  '1517557800000':
   { open: '0.00100090',
     high: '0.00100650',
     low: '0.00099810',
     close: '0.00100370',
     volume: '1161.52000000' },
  '1517557860000':
   { open: '0.00100360',
     high: '0.00101010',
     low: '0.00100000',
     close: '0.00100310',
     volume: '1977.68000000' },
  '1517557920000':
   { open: '0.00100100',
     high: '0.00101130',
     low: '0.00100080',
     close: '0.00100670',
     volume: '2002.00000000' }}
 
WRInaute impliqué
Si ton problème c'est de récupérer les éléments de l'objet (qui est assimilable à un tableau associatif avec comme clé un timestamp => un objet/tableau associatif), tu peux :

- utiliser for...in pour parcourir les clés, puis tu peux récupérer l'entrée correspondante.
Par exemple, ici j'affiche chaque objet, suivi de la propriété low accédé comme un objet, puis comme un tableau : le résultat est le même. Et en fin de boucle, j'ai le dernier low trouvé (si les timestamps sont bien dans l'ordre, comme dans ton exemple).
- tu peux aussi récupérer toutes les clés dans un tableau avec Object.keys.

Code:
let lastLow = null;
for (let timestamp in chart) {
   console.log(chart[timestamp]);
   console.log(chart[timestamp].low);
   console.log(chart[timestamp]['low']);
   lastLow = chart[timestamp].low;
}
console.log('Dernier low = ' + lastLow);

// Si tu es certain que c'est le dernier:
let charKeys = Object.keys(chart);
let lastObject = chart[charKeys[charKeys.length - 1]];
console.log('Dernier low accès direct = ' + lastObject.low);

Doc : https://techstacker.com/how-to-count-javascript-object-properties/
 
Discussions similaires
Haut