Voici plus d'art Javascript si vous êtes venu le chercher
Dans l'esprit d'une autre réponse utilisée reduceRight()
, mais plus courte:
[3, 2, 1, 5].reduceRight(a => a);
Il repose sur le fait que, si vous ne fournissez pas de valeur initiale, le tout dernier élément est sélectionné comme élément initial (consultez la documentation ici ). Puisque le rappel continue de renvoyer la valeur initiale, le dernier élément sera celui renvoyé à la fin.
Attention, cela devrait être considéré comme de l' art Javascript et ce n'est en aucun cas la façon dont je recommanderais de le faire, principalement parce qu'il fonctionne en temps O (n), mais aussi parce que cela nuit à la lisibilité.
Et maintenant pour la réponse sérieuse
La meilleure façon que je vois (étant donné que vous le voulez plus concis que array[array.length - 1]
) est la suivante:
const last = a => a[a.length - 1];
Ensuite, utilisez simplement la fonction:
last([3, 2, 1, 5])
La fonction est en fait utile dans le cas où vous avez affaire à un tableau anonyme comme [3, 2, 1, 5]
utilisé ci-dessus, sinon vous devrez l'instancier deux fois, ce qui serait inefficace et laid:
[3, 2, 1, 5][[3, 2, 1, 5].length - 1]
Pouah.
Par exemple, voici une situation où vous avez un tableau anonyme et vous devez définir une variable, mais vous pouvez utiliser à la last()
place:
last("1.2.3".split("."));