1
votes

obtenir le dernier élément pop du tableau

J'ai ce tableau

heading: [] = [];
for (let datas of getdata['data']) {
  this.heading = datas.hd;
  console.log("heading"+this.heading.pop());
}

this.heading.pop();

Pendant que j'essaie de n'obtenir que le dernier élément du tableau ci-dessus en utilisant pop () , j'obtiens une erreur comme celle-ci: p >

this.heading.pop n'est pas une fonction

{
  "data": [
    {
      "lat": 31.135859,
      "lng": 46.823952,
      "hd": 319
    },
    {
      "lat": 31.050476,
      "lng": 46.907204,
      "hd": 320
    },
    {
      "lat": 30.999023,
      "lng": 46.957184,
      "hd": 320
    },
    {
      "lat": 30.955353,
      "lng": 46.999352,
      "hd": 320
    }
  ]
}


1 commentaires

header n'est pas un tableau.


4 Réponses :


2
votes

Vous n'utilisez pas la boucle for . Vous pouvez le faire d'une manière plus simple:

let obj = { "data": [ { "lat": 31.135859, "lng": 46.823952, "hd": 319 }, { "lat": 31.050476, "lng": 46.907204, "hd": 320 }, { "lat": 30.999023, "lng": 46.957184, "hd": 320 }, { "lat": 30.955353, "lng": 46.999352, "hd": 320 } ] }

console.log(obj.data.pop().hd);


3 commentaires

mais je veux obtenir hd à partir de ce tableau, je veux toujours utiliser le dernier élément hd du tableau


Après avoir utilisé la méthode pop , l'élément est supprimé du tableau.


Si vous souhaitez le conserver, utilisez obj.data [obj.data.length - 1] .hd .



1
votes
const item = array.data[array.data.length - 1].hd;

0 commentaires

1
votes

Peut-être que vous pouvez essayer avec celui-ci:

let obj = { "data": [ { "lat": 31.135859, "lng": 46.823952, "hd": 319 }, { "lat": 31.050476, "lng": 46.907204, "hd": 320 }, { "lat": 30.999023, "lng": 46.957184, "hd": 320 }, { "lat": 30.955353, "lng": 46.999352, "hd": 320 } ] }

console.log(obj.data.reduceRight(value => value).hd) // 320

J'espère que cela pourra vous aider.


0 commentaires

1
votes

Je pense que ce que vous essayiez de faire était de pousser les en-têtes "hd" vers un autre tableau et d'obtenir le dernier en-tête. Vous pouvez le faire comme ci-dessous

var obj = {
    "data": [
        {
            "lat": 31.135859,
            "lng": 46.823952,
            "hd": 319
        },
        {
            "lat": 31.050476,
            "lng": 46.907204,
            "hd": 320
        },
        {
            "lat": 30.999023,
            "lng": 46.957184,
            "hd": 320
        },
        {
            "lat": 30.955353,
            "lng": 46.999352,
            "hd": 320
        }
    ]
}

var heading = []

function getLast() {
    for (let datas of obj.data) {
        heading.push(datas.hd);
    }
    return heading.pop();
}

console.log(getLast());

Il existe des moyens plus efficaces de le faire. Ces réponses sont déjà données.


0 commentaires