mozilla
Vos résultats de recherche

    Array.prototype.fill()

    Cette fonction, proposition pour ECMAScript 6 (Harmony), est expérimentale
    Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
    Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

    Résumé

    La méthode fill() remplit tout les éléments d'un tableau entre deux index avec une valeur statique.

    Syntaxe

    arr.fill(valeur[, début = 0[, fin = this.length]])

    Paramètres

    valeur
    Valeur avec laquelle remplir le tableau.
    début
    Index de début.
    fin
    Index de fin.

    Description

    Les éléments pour lesquels on utilisera la valeur sont ceux contenus dans l'intervalle de positions [début, fin].

    La méthode fill() prend jusqu'à trois arguments : valeur, début et fin. Les arguments début et fin sont optionnels. Leurs valeurs par défaut sont respectivement 0 et la taille length de l'objet this.

    Si début est négatif, il sera traité comme length+débutlength est la taille du tableau. Si fin est négatif, il est traité comme length+fin.

    La fonction fill() est intentionnellement générique, il n'est pas nécessaire que sa valeur this soit un objet Array.

    La méthode fill() est une méthode de modification, elle changera l'objet this lui-même, et renverra l'objet modifié. Elle ne crée pas de copie.

    Exemples

    [1, 2, 3].fill(4)            // [4, 4, 4]
    [1, 2, 3].fill(4, 1)         // [1, 4, 4]
    [1, 2, 3].fill(4, 1, 2)      // [1, 4, 3]
    [1, 2, 3].fill(4, 1, 1)      // [1, 2, 3]
    [1, 2, 3].fill(4, -3, -2)    // [4, 2, 3]
    [1, 2, 3].fill(4, NaN, NaN)  // [1, 2, 3]
    [].fill.call({length: 3}, 4) // {0: 4, 1: 4, 2: 4, length: 3}

    Prothèse d'émulation (polyfill)

    if (![].fill) {
      Array.prototype.fill = function(value) {
    
        // Steps 1-2.
        var O = Object(this);
    
        // Steps 3-5.
        var len = parseInt(O.length);
    
        // Steps 6-7.
        var debut = arguments[1];
        var debutRelatif = parseInt(debut) || 0;
    
        // Step 8.
        var k = debutRelatif < 0
                ? Math.max(len + debutRelatif, 0)
                : Math.min(debutRelatif, len);
    
        // Steps 9-10.
        var fin = arguments[2];
        var finRelative = fin === undefined
                          ? len 
                          : (parseInt(fin) || 0);
    
        // Step 11.
        var final = finRelative < 0
                    ? Math.max(len + finRelative, 0)
                    : Math.min(finRelative, len);
    
        // Step 12.
        for (; k < final; k++) {
            O[k] = valeur;
        }
    
        // Step 13.
        return O;
      };
    }
    

    Spécifications

    Spécification Statut Commentaires
    ECMAScript 6 (ECMA-262)
    La définition de 'Array.prototype.fill' dans cette spécification.
    Draft Définition initiale.

    Compatibilité des navigateurs

    Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Support simple 36[1] 31 (31) Pas de support Pas de support 7.1
    Fonctionnalité Android Chrome pour Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Support simple Pas de support Pas de support 31.0 (31) Pas de support Pas de support iOS 8

    [1] Cette fonctionnalité est disponible grâce à un paramètre utilisateur. Dans chrome://flags, activer l'élément « Activer la fonctionnalité expérimentale JavaScript ».

    Voir aussi

    Étiquettes et contributeurs liés au document

    Contributors to this page: Fredchat, ferncoder, SphinxKnight
    Dernière mise à jour par : SphinxKnight,