Visualizzazione dei risultati da 1 a 5 su 5

Discussione: memorizzare un array

  1. #1

    memorizzare un array

    salve
    domanda notturna,,,,
    ho 2 array
    arr_a
    arr_b

    all'inizio arr_a è vuoto. arr_b ha vari elementi
    voglio memorizzare arr_b
    quindi faccio
    arr_a=arr_b

    qualsiasi operazione faccio su arr_b mi si tramette su arr_a
    come mai?
    bonanotte per chi ce'

  2. #2
    Utente di HTML.it L'avatar di 7vite
    Registrato dal
    Mar 2001
    Messaggi
    3,407
    Riporta le due righe di codice che utilizzi.

  3. #3

    ok

    var arr_a = new Array();
    var arr_b = new Array("a","b","c");

    trace("arr_a " + arr_a + " arr_b " + arr_b);

    arr_a=arr_b;

    trace("arr_a " + arr_a + " arr_b " + arr_b);

    arr_b.splice(1,1);

    trace("arr_a " + arr_a + " arr_b " + arr_b);


    bene a questo punto questa operazione che ho fatto su arr_b mi si ripercuote anche su arr_a
    cioe' anche ad arr_a viene tolto il 2 elemento.
    eppure io ho posto
    arr_a = arr_b prima di effettuare lo splice su arr_b
    quindi?

  4. #4
    Perché tu non popoli l'array A con i valori dell'array B ma semplicemente fai una referenza a B con A e quindi A e B è come se fossero due copie di uno stesso oggetto.

    Se tu provi il seguente codice che invece popola A con i valori di B vedrai che non succede più questo "inconveniente".

    codice:
    arr_a = [];
    arr_b = ["a","b","c"];
    
    trace("arr_a " + arr_a + " arr_b " + arr_b);
    
    i = 0;
    
    for(var a in arr_b){
    	arr_a[i] = arr_b[i];
    	i++;
    }
    
    trace("arr_a " + arr_a + " arr_b " + arr_b);
    
    arr_a.splice(1,1);
    
    trace("arr_a " + arr_a + " arr_b " + arr_b);

  5. #5

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.