Nouvelles méthodes de tableaux JavaScript

Supportés par tous les navigateurs modernes, y compris IE9, des méthodes pour les applications Web.

Les fonctionnalités définies dans JavaScript 6, ou Harmony, ne sont implémentées que dans IE 10 et les autres navigateurs.

ArrayBuffer et tableaux typés (Harmony)

Le couple Buffer/View est largement utilisé par Asm.js. Une 'vue' est un tableau typé utilisé pour accéder au contenu d'un buffer. Par exemple un tableau d'entier. (Internet Explorer 10)
L'exemple affiche quatre nombres de 4 octets dans une zone de 16 octets

ArrayBuffer/Int32Array :

var buffer = new ArrayBuffer(16);
var int32View = new Int32Array(buffer);
document.write(int32View.length); // affiche 4.

Méthode reduce (1.8)

La méthode reduce applique une fonction à un tableau. Support IE 9.
L'exemple fait la somme du contenu.

Reduce :

function adding(a, b) { return a + b; }
var total = [0, 1, 2, 3].reduce(adding);  // total vaut 6.

Méthode filter (1.6)

La méthode filter applique une fonction de test à un tableau et retourne les éléments validés dans un nouveau tableau. Support IE 9.
L'exemple affiche le nombre d'élements retenus.

Filter :

function compare(a) { return a >= 2; }
var testfilter = [0, 1, 2, 3].filter(compare);
document.write(testfilter.length); // affiche 2.

Méthode map (1.6)

La méthode map applique une fonction à un tableau donc chaque élément devient tout à tour argument de la fonction, et retourne la liste des résultats pour chaque élément dans un nouveau tableau. Support IE 9.

Map :

var testmmap = [0, 9, 16].map(Math.sqrt);
document.write(testmmap[1]); // affiche 3, la racine.

Méthode every et some (1.6)

La méthode every teste si tous les éléments d'un tableau supportent la fonction en paramètre, et retourne true ou false.
La méthode some teste si la fonction retourne vrai pour au moins un élément. Support IE 9
Dans l'exemple avec every tous les éléments sont supérieurs à 0.

Every, some:

var testever = [4, 9, 16].every(function(x) { return x > 0} );
document.write(testever); // affiche true.

Object.keys() (1.8.5)

Nouvelle méthode de Object qui retourne la liste des clés ou des indices d'un tableau. Supporté par IE 9.

Object.keys(tableau) :

var testk = { "a" : "orange" , "b" : "prune" };
var klist = Object.keys(testk);
document.write(klist); // affiche la liste des clés.

Objet JSON (1.5)

L'objet JSON permet de sérialiser un tableau. Il dispose de deux méthodes pour parser un objet au format JSON ou le convertir en chaîne. C'est un moyen d'afficher un tableau formaté. Supporté par IE 8.
Dans l'exemple, la chaîne est transformée en objet et "a" devient une propriété.

JSON :

var testjson = '{ "a": 1 }';
var pjson = JSON.parse(testjson);
document.write(pjson['a']);  // affiche true.

On peut ajouter à la liste les méthodes indexOf et lastIndexOf pour un tableau. Elles fonctionnent comme leurs équivalents dans l'objet String.

© 2013 Xul.fr