Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    505

    incrementare vettore (aggiungendo n slot alla posizione m)

    salve,

    avrei bisogno di fare questo :

    per esempio io ho un vettore di 10 elementi. vorrei aggiungere alla posizione 5 altri 3 elementi.

    non credo esista già una funzione del genere, ma penso sia possibile spezzare/unire vettore.

    esistono tali funzioni? così per esempio spezzo da 0 a 4, da 5 a 9, e unisco il primo, uno nuovo (di due posizionì) più l'ultima parte.

    credo esistano, ma non le ho trovate googleggiando

    cordiali saluti

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    505
    si, sembra proprio quello che fà al caso mio

    solo che questa serve per dividere... io poi dovrei riunirli (con il splice c'è un replace, io invece devo poi unire 3 vettori)...

    credo ci sia anche quì una funzioncina...

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    leggi bene perche' aggiunge anche un numero abritrario di elementi,
    non serve spezzare/riunire

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    505
    eh, ma dice "You can also include optional new elements to replace the ones removed. "

    io voglio inserirli (dalla posizione 2 per esempio) senza rimpiazzare niente...

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    505
    ho risolto basta mettere X,0, dove X è la posizione in cui voglio che venga aggiunto! così non rimpiazza niente! grazie

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    505
    c'è però un problema con quella funzione. ho idea che gli indici del vettore che vado a manipolare non si aggiornino.

    es :

    codice:
    temp[0]=new Array("0","0");
    temp[1]=new Array("0","0");
    temp[2]=new Array("0","0");
    temp[3]=new Array("0","0");
    temp[4]=new Array("0","0");
    
    vt=new Array("1","0");
    temp.splice(3, 0, vt);
    temp.splice(4, 0, vt);
    
    temp[3][1]="R";
    ora, l'output desiderato dovrebbe essere :
    1 - 0,0
    2 - 0,0
    3 - 0,0
    4 - 1,R
    5 - 1,0
    6 - 0,0
    7 - 0,0

    invece l'output è questo :
    1 - 0,0
    2 - 0,0
    3 - 0,0
    4 - 1,R
    5 - 1,R
    6 - 0,0
    7 - 0,0

    mi modifica entrambi i valori nuovi inseriti. sembra che abbiano lo stesso indice...

    mi ricordo che in php quando si lavora sui vettori basta dargli la funzione array_values() per creare i nuovi indici.

    saluti

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    505
    trovato il problema : essendo visti come object, referenziavo lo stesso vettore.

    temp.splice(i, 0, new Array("1","0"));

    e via

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.