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 :

Copie de tableau indépendante


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 62
    Par défaut Copie de tableau indépendante
    Bonjour,

    J'ai un array d'arrays ...

    Je souhaite faire une deep copy, c'est à dire que je souhaite que les deux tableaux soient indépendants, l'un devant être une "sauvegarde" de l'autre.

    Je n'ai rien trouvé qui fonctionne sur le net ...

    Quelqu'un pourrait-il m'aider ?

    Merci.

  2. #2
    Membre Expert
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Par défaut
    Citation Envoyé par crocodile Voir le message
    J'ai un array d'arrays ...

    Je souhaite faire une deep copy, c'est à dire que je souhaite que les deux tableaux soient indépendants
    Je comprends pas ce que tu veux faire : tu as un tableau de tableaux ... qui est le caopie de quoi

  3. #3
    Inactif
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 117
    Par défaut
    Citation Envoyé par gwyohm Voir le message
    Je comprends pas ce que tu veux faire : tu as un tableau de tableaux ... qui est le caopie de quoi

    Ben le monsieur veut faire une deep copie c'est pourtant claire

    En gros si il a :

    a = [1,2,3, [4,5,6], 7,8];

    il veut copier a dans b
    mais il faut aussi prendre en compte les sous tableaux qui doivent aussi être copié pas simplement référencés.

    une fonction récursive devrait faire l'affaire :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    function arrayDeepCopy(array) {
    	var aCopy=[];
    	for (var i=0; i<array.length; i++) {
    		var item = array[i];
    		aCopy.push((typeof item=='array') ? arrayDeepCopy(item) : item);
    	}
    	return aCopy;
    }
     
    var a = [
    			1,2,3,
    			'kikoo',
    			['aaaa', 'bbbbb','cccc'],
    			['123456',
    				['deeeep in array',
    					[
    						'deep in array again',
    						'deep in array again 2'
    					]
    				]
    			]
    		];
     
    var copyArray = arrayDeepCopy(a);

  4. #4
    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
    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 !

  5. #5
    Inactif
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 117
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Pourrais-tu tester et surtout lire la question avant de poster une réponse pareille ?

    a est un array pas un constructeur

  6. #6
    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
    Voilà Gats...
    Au lieu de pointer les erreurs des autres ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var a = new Array(1,['oui','non'],3,2)
     
    var b=new Array().concat(a)
    alert(b[1][1])  // test de conservation de profondeur
    // test d'independance:
    b.push('plus')
    alert(b) 
    alert(a)
    Désolé j'ai répondu trop vite je me rappelais juste que la solution passait par un new quelque part...
    C'est toujours mieux qu'une usine à gaz ...
    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 !

Discussions similaires

  1. Copie un tableau dans un autre
    Par Montor dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/05/2008, 21h29
  2. redimenssionnement & copie de tableau
    Par TOPGUN89 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 24/09/2007, 14h45
  3. Format des surfaces et copies vers tableau
    Par ultimanu dans le forum DirectX
    Réponses: 7
    Dernier message: 12/04/2007, 16h33
  4. Copie de tableau dynamique Tridimensionel
    Par Zenol dans le forum C++
    Réponses: 23
    Dernier message: 19/12/2005, 16h00
  5. [Tableau]Problèmes avec copie de tableau
    Par Itachi-san dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 25/11/2005, 17h23

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