IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Inverse valeur tableau multidimensionnel


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    40
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 40
    Par d�faut Inverse valeur tableau multidimensionnel
    Bonjour � tous,

    J'ai un tableau de la forme

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    array = [[3, 15, 16], [12, 17, 12], [13, 12, 18]]
    Je cherche � inverser la valeur [x][0] par son oppos� soit :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    array = [[13, 15, 16], [12, 17, 12], [3, 12,18]]
    Sachant que je la taille du tableau est dynamique.

    Si vous avez un d�but de piste je suis preneur, mes connaissances en JS sont assez limit�es.

    Merci d'avance pour votre aide.

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    a part une boucle et un reverse ...

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    array = [[3, 15, 16], [12, 17, 12], [13, 12, 18]]
     
    temp_array=[]
    var i=-1;
    while( array[++i]){
    temp_array.push(array[i][0]);
    }
     
    temp_array.reverse()
    var i=-1;
    while( array[++i]){
    array[i][0]=temp_array[i];
    }
     
    console.log(array)
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    40
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 40
    Par d�faut
    Un grand merci pour ta r�ponse rapide, mais il semble que je me suis tromp� dans le r�sultat que j'attendais. Finalement j'ai besoin que ce tableau :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    array = [[0, 2, 4], [1, 5, 6], [2, 5, 6]]
    devienne :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    array = [[0, 5, 6], [1, 5, 6], [2, 2, 4]]
    En gros, seules les deux derni�res valeurs doivent �tre invers�es.
    Encore une fois merci pour ton aide.

  4. #4
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Maintenant que SpaceFrog t'a montr� la m�thode tu devrais pouvoir t'en sortir non !?!

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    40
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 40
    Par d�faut
    Bonsoir NoSmoking, en effet je suis d�sol� en cherchant "un peu" j'ai fini par trouver :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    array = [[0, 2, 4], [1, 5, 6], [2, 7, 3]]
     
    temp_array=[]
    var i=-1;
    while( array[++i]){
    temp_array.push(array[i][0]);
    }
     
    array.reverse()
    var i=-1;
    while( array[++i]){
    array[i][0]=temp_array[i];
    }
     
    console.log(array)
    Ca me paraissait insurmontable mais en prenant le temps de comprendre.

    Bonne soir�e sur les forums.

  6. #6
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    Pas s�r d'avoir compris exactement la r�gle que tu souhaites appliquer, mais voil� ce � quoi je suis arriv� :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    var array = [[0, 2, 4], [1, 5, 6], [2, 7, 3]];
    var newArray = array.map(function(a,i){ return a.map(function(b,j){ return j>0 ? array[array.length-1-i][j] : b; }); });
    console.log(newArray)
    Au passage, pense � toujours d�clarer tes variables avec var

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 20
    Dernier message: 25/09/2013, 12h24
  2. R�ponses: 5
    Dernier message: 23/02/2011, 18h44
  3. Recupere valeur selon indice tableau multidimensionnel
    Par methylene dans le forum VB.NET
    R�ponses: 3
    Dernier message: 06/07/2010, 15h43
  4. R�ponses: 3
    Dernier message: 06/12/2009, 15h02
  5. R�ponses: 2
    Dernier message: 08/12/2005, 14h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo