Comment convertir simple tableau en tableau à deux dimensions (matrice) avec Javascript
Imaginer que j'ai un tableau:
A = Array(1, 2, 3, 4, 5, 6, 7, 8, 9);
Et je veux les convertir en tableau en 2 dimensions (matrice de N x M), par exemple comme ceci:
A = Array(Array(1, 2, 3), Array(4, 5, 6), Array(7, 8, 9));
Remarque, que les lignes et colonnes de la matrice est variable.
Array.prototype.toMatrix=function(per){return this.reduce(function(prev,current,i){if(i%per==0)prev.push([current]);else prev[prev.length-1].push(current);return prev;},[])}
OriginalL'auteur Bakhtiyor | 2010-12-20
Vous devez vous connecter pour publier un commentaire.
Quelque chose comme cela?
Utilisation:
OriginalL'auteur jwueller
Vous pouvez utiliser le
Array.prototype.reduce
fonction pour faire cela en une seule ligne.ECMAScript 6 style:
"Normal" JavaScript:
Vous pouvez modifier la 3 tout ce que vous voulez le nombre de colonnes à être, ou, mieux encore, de le mettre dans une réutilisables fonction:
ECMAScript 6 style:
"Normal" JavaScript:
Dans le
reduce()
fonction, le premier paramètre de la fonction de rappel est la valeur que vous renvoyez. Il n'y a pas de mal dans la mutation parce qu'il a été fait nouvelle pour cette (initialisé avec le deuxième paramètre dereduce()
). Il n'est pas nécessaire pour les frais généraux supplémentaires d'éviter des mutations sur elle (en fait, la mutation est probablement plus performant). Il est encore admissible en tant que "fonctionnelle" de la programmation.OriginalL'auteur samanime
Comment au sujet de quelque chose comme:
http://jsfiddle.net/andrewwhitaker/ERAUs/
OriginalL'auteur Andrew Whitaker
Simplement utiliser deux boucles for:
OriginalL'auteur Vincent Mimoun-Prat
Si vous souhaitez remplacer un tableau les valeurs internes, je crois que vous pouvez appeler le suivant:
OriginalL'auteur cwallenpoole
Ce code est générique pas besoin de vous soucier de la taille et de la matrice, des œuvres universellement
OriginalL'auteur Bhanu Prakash H c
OriginalL'auteur Jannic Beck
OriginalL'auteur SayedRakib
OriginalL'auteur Sagar Mishra
Un impressionnant référentiel ici .
api : masfufa.js
de l'échantillon : masfufa.html
Selon cet exemple , l'extrait suivant de résoudre le problème :
alors :
OriginalL'auteur Abdennour TOUMI
Réponse courte utilisation:
Où:
Longue réponse, vous pouvez lire l'article:
Comment faire pour convertir un tableau de longueur " n " à la matrice de la grille
OriginalL'auteur Mustafa Dwekat