3 votes

Stockage local Javascript. Obtenir seulement les 3 premiers éléments ?

Obtenir et renvoyer des éléments du stockage local pour les afficher est simple :

let element = JSON.parse(localStorage.getItem('element'));
return element.elements

En supposant que l'élément est la clé et que les éléments sont un ensemble d'éléments dans la clé.

Mais, comment pourrais-je obtenir seulement les 3 premiers éléments ?

J'ai actuellement ceci (mais je pense qu'il y aura une meilleure façon de le faire) :

let firstelement = element.elements[0];
let secondelement = element.elements[1];
let thirdelement = element.elements[2];

Je ne suis pas sûr de ce qu'il faut faire après ça.

4voto

Solomon Points 336

Selon MDN :

La méthode slice() renvoie une copie superficielle d'une partie d'un tableau dans un nouvel objet tableau sélectionné de début à fin (fin non incluse). Le tableau d'origine ne sera pas modifié.

Alors, essayez ceci :

let element = JSON.parse(localStorage.getItem('element'));
var selection = element.elements.slice(0, 3);

Bravo à CertainPerformance pour avoir suggéré d'utiliser slice en un commentaire .

1voto

Teocci Points 1441

JS a le slice() qui renvoie une copie bit à bit d'une partie d'un tableau dans un nouvel objet tableau choisi parmi les suivants begin à end , end ne seront pas inclus.

NOTE : Le tableau original ne sera pas modifié.

let txtElement = '{"id":"0001","type":"donut","name":"Cake","elements":[{"id":"5001","type":"None"},{"id":"5002","type":"Glazed"},{"id":"5005","type":"Sugar"},{"id":"5007","type":"Powdered Sugar"},{"id":"5006", "type":"Chocolate with Sprinkles"},{"id":"5003","type":"Chocolate"},{"id":"5004","type":"Maple"}]}';

let localStorage = {
  name: 'Local',
  getItem: function() {
    return txtElement;
  }
};

let element = JSON.parse(localStorage.getItem('element'));
let topElements = element.elements.slice(0, 3);
console.log({topElements});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X