-3
votes

Copier des matrices en tant qu'éléments individuels dans un autre tableau en JavaScript

EDIT:

newArray = [['a', 'b'], ['c', 'd'], ['e', 'f']];


1 commentaires

Qu'est-ce que quelque chose ? Peut-être que newarray = [... quelque chose] ?


4 Réponses :


1
votes

Retirez simplement la propagation ( ... code>), vous appuyez sur votre tableau code> code> à chaque fois:

var something = [['a', 'b'], ['c', 'd'], ['e', 'f']];

var newArray = something;

console.log(newArray);


0 commentaires

0
votes

Vous pouvez faire une copie avec carte ... xxx

ou avec une tranche ... xxx

ou Un tas plus de moyens .


1 commentaires

Carte et Slice ne conservent que la dernière valeur de la matrice qui ['E', 'F'] dans le Newarray. Je veux continuer à ajouter toutes les valeurs des «données» une après l'autre et obtenez une liste complète à Newarray.



0
votes

Vous avez mentionné que vous souhaitez copier les tableaux dans le Newarray ? Si vous souhaitez copier les tableaux, et non simplement la transmission d'une référence à Newarray , vous voudrez utiliser .Slice .

donc: newarray.push (données.slice ());

Gardez à l'esprit que .Slice produit une copie peu profonde non une copie profonde, de sorte que tout objet imbriqué sera toujours des références, mais des primitives (comme des entiers et des cordes) seront copiées.


0 commentaires

1
votes

On dirait que vous voulez copies em> des tableaux et non des références au même tableau. Vous pouvez mélanger mappe code> et [...] code> ou tranche () code> pour ajouter une copie plutôt que juste une référence à l'élément à un nouveau Array:

p>

<script src="https://cdn.jsdelivr.net/npm/generatorics@1.1.0/generatorics.js"></script>


7 commentaires

UV - Il semble que vous aviez raison de l'intention des OPS.


Édité ma question. Je ne saurais pas auparavant les valeurs de la matrice de données. Cela ne fonctionne pas pour moi :(


@Samt Voir la modification. C'est la même idée, vous ne pouvez tout simplement pas utiliser directement carte avec un itérateur.


Désolé ça ne marche pas aussi. L'objectif est vraiment que je veux continuer à pousser le tableau de données au Newarray à l'intérieur de chaque itération. Et je ne connais pas la valeur du tableau de données avant l'itération.


@SAMT Vous devez mettre à jour la question avec suffisamment de détails que nous avons une idée que quelque chose est. Vous nous donnez devinez. Si ce n'est pas un itérateur et ce n'est pas un tableau, qu'est-ce que c'est?


@Samt La modification ci-dessus fonctionne pour moi avec cet emballage NPM.


Ça a marché. Lorsque j'utilise Array.from dans la boucle pour la boucle, cela ne l'utilise que lorsque j'utilise votre doublure, cela fonctionne comme prévu. Merci d'avoir pris le temps de m'aider.