Fusionner/aplatir un tableau de tableaux
P粉828463673
P粉828463673 2023-08-27 12:05:43
0
2
556
<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粉828463673
P粉828463673

répondre à tous(2)
P粉557957970

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]
P粉293341969

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);
    
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal