Maison  >  Questions et réponses  >  le corps du texte

Fusionner/aplatir un tableau de tableaux

<p>J'ai un tableau JavaScript, par exemple : </p> <pre class="brush:php;toolbar:false;">[["$6"], ["$12"], ["$25"], ["$25"], ["$18"], [" 22 $"], ["10 $"]]</pré> <p>Comment combiner des tableaux internes distincts en un seul tableau comme celui-ci : </p> <pre class="brush:php;toolbar:false;">["$6", "$12", "$25", ...]</pre> <p><br /></p>
P粉828463673P粉828463673420 Il y a quelques jours494

répondre à tous(2)je répondrai

  • P粉557957970

    P粉5579579702023-08-28 10:33:02

    Il s'agit d'une fonction courte qui utilise certaines des méthodes de tableau JavaScript les plus récentes pour aplatir un tableau à n dimensions.

    function flatten(arr) {
      return arr.reduce(function (flat, toFlatten) {
        return flat.concat(Array.isArray(toFlatten) ? flatten(toFlatten) : toFlatten);
      }, []);
    }

    Utilisation :

    flatten([[1, 2, 3], [4, 5]]); // [1, 2, 3, 4, 5]
    flatten([[[1, [1.1]], 2, 3], [4, 5]]); // [1, 1.1, 2, 3, 4, 5]

    répondre
    0
  • P粉293341969

    P粉2933419692023-08-28 09:31:51


    ES2019

    ES2019 a introduit la méthode 数组。 prototype.flat(), que vous pouvez utiliser pour aplatir un tableau. Il est compatible avec la plupart des environnements, bien qu'il ne soit disponible que dans Node.js à partir de la version 11 et non dans Node.js. C'est tout à fait bien dans Internet Explorer.

    const arrays = [
          [""],
          [""],
          [""],
          [""],
          [""],
          [""],
          [""]
        ];
    const merge3 = arrays.flat(1); //The depth level specifying how deep a nested array structure should be flattened. Defaults to 1.
    console.log(merge3);
        

    répondre
    0
  • Annulerrépondre