Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    salvare un vettore, modificarlo, ripristinarlo

    Scusate il titolo.

    Ho un vettore:

    var v = [[1,2],[3,4],[5,6]];

    nel ciclo di vita della pagina vorrei fare


    salva v per uso futuro

    annulla v, ossia v = null

    ripristina v


    Ecco, vorrei sapere se si può fare senza duplicare il vettore tramite cicli
    Pietro

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    basta una normale assegnazione


    <script type="text/javascript">
    // <![CDATA[

    var v = [[1,2],[3,4],[5,6]];

    clone = v; // backup
    alert (clone);

    v = undefined; // cancellazione
    alert (v);

    v = clone; // ripristino
    alert (v);


    // ]]>
    </script>
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Bene, ci speravo
    Ciao
    Pietro

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Purtroppo ho qualche problema e confido nel tuo aiuto.

    Cerco di sintetizzare.

    All'inizio ho un vettore:
    var a = [["a","b"],["c","d"]];

    adesso vorrei clonare il vettore (non il puntatore del vettore)
    var t = a;

    adesso, nel ciclo di vita della pagina, modifico il vettore:
    a.splice(0,1); a.splice(0,1);

    in un altro punto, ad esempio nell'evento di un tasto ripristina, ripristino il vettore
    a = t;alert(a);

    Ebbene, le mdifiche fatte ad a, di riperquotono su t, invalidando quello che volevo fare.

    Adesso, chiedo, se possibile, su un aiuto per estendere all'oggetto Array, il metodo clone()

    pagina di prova
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
        <head>
            <title>a</title>
            <meta name="vs_defaultClientScript" content="JavaScript">
            <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
            <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
            <meta name="ProgId" content="VisualStudio.HTML">
            <meta name="Originator" content="Microsoft Visual Studio .NET 7.1">
        <script id="clientEventHandlersJS" language="javascript">
    <!--
    var a = [["a","b"],["c","d"]];
    var t = a;
    function Button1_onclick() {
        //a = []; //così funziona
        a.splice(0,1); a.splice(0,1);//così non funziona
        alert(a);
    }
    
    function Button2_onclick() {
        a = t;
        alert(a);
    }
    
    function window_onload() {
        t = a;
    }
    
    //-->
    </script>
    </head>
        <body MS_POSITIONING="FlowLayout" language="javascript" onload="return window_onload()">
            <INPUT type="button" value="Button" ID="Button1" NAME="Button1" language="javascript" onclick="return Button1_onclick()">
            <INPUT type="button" value="Button" ID="Button2" NAME="Button2" language="javascript" onclick="return Button2_onclick()">
        </body>
    </html>
    Pietro

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.