Aiuto urgente array Javascript

simo!

Nuovo Utente
30 Mar 2006
19
0
0
Ho un problema con gli Array javascript.

In realtà l' "array" è una matrice 15x2. La mia necessità è quella di eliminare l'ultimo elemento oppure (ancor meglio) un elemento con un determinato indice di questa matrice.

Come si può eliminare un elemento dalla matrice?

Vi spiego con un esempio:
Ho questa matrice 4x2:
A B
B C
C A
A D
Ad un certo punto ho la necessità di eliminare una coppia random dalla matrice (ad esempio B C).
La soluzione che uso fin ora è: sposto verso l'alto di 1 tutti gli elementi successivi a B C , e considero la matrice di dimensioni 3x2 . Ma in realtà (essendo la matrice nata come 4x2) viene mantenuto in memoria un ultimo elemento in fondo alla matrice.

Come posso eliminarlo definitivamente?
Il mio problema è che non posso usare la funzione Array.remove(index) perchè ho una matrice da manipolare (quindi gli indici sarebbero 2), e non un array.
 

simo!

Nuovo Utente
30 Mar 2006
19
0
0
Uso una funzione che ho preso dalla rete:

Codice:
function TO_array() { 

var $dime = arguments.length;
var $elem = new Array($dime);
var TO_temp;
var TO_str = "";
  
  for (var TO_i = 1; TO_i < $dime; TO_i++)
       if (isNaN($elem[TO_i] = parseInt(arguments[TO_i - 1],10))) {
           alert("La funzione TO_array richiede valori numerici");
           $dime = 0;
       }

  do {
           TO_temp = "";
                 for ($elem[--TO_i]; $elem[TO_i] > 1; --$elem[TO_i])
                      TO_temp += "new Array(" + TO_str + "),";
           TO_temp += "new Array(" + TO_str + ")";
          
    TO_str = TO_temp;
 
  } while(--$dime > 1 && 0 != TO_i);

    TO_str = "new Array(" + TO_str + ")";

return eval(TO_str);

} // Fine funzione TO_array

Inizializzo la matrice con tutte le possibili coppie dell'array di "elementi" (l'array è di 6 elementi e le possibili coppie sono 15):

Codice:
function inizializzaMatriceCoppie(elementi){
	var matrice = TO_array(15,2);
             var pos = 0;
	var riga = 0;
		
	for (i = pos; i < 5; i++)
	{
		//prendo 1 elemento
		for (j = i+1; j < 6; j++)
		{
			//prendo un elemento con indice successivo nell'array
			matrice[riga][0] = elementi[i];
			matrice[riga][1] = elementi[j];
			
			riga++;		
		}
		pos++;	
	}	
	return matrice;
}

Per accedere alla matrice uso i due indici, così ad esempio:
matrice[0][1]
 
Ultima modifica:

lukeonweb

Utente Attivo
5 Mar 2003
5.175
13
38
45
Napoli
www.lucaruggiero.it
In sostanza crea un array bidimensionale che in Javascript è molto difficile da gestire... Scusami se salto di palo in frasca: l'esigenza finale qual'è? Allo strumento (array o altro) pensiamo dopo...
 

simo!

Nuovo Utente
30 Mar 2006
19
0
0
Spero di riuscirmi a spiegare con parole povere:

questa matrice è inizializzata con tutte le possibili coppie di elementi.
Faccio un esempio semplice: se gli "elementi" sono A B C , inizializzerò una matrice 3x2 contenente queste coppie:
A B
A C
B C
(Nel codice la matrice è 15x2 perchè l'array "elementi" è di dimensione 6 e non 3 come nel precedente esempio).
Il risultato finale deve essere una matrice "randomizzata verticalmente", cioè devo avere una matrice in cui le coppie vengano ordinate (in modo random) così, ad esempio:
A C
B C
A B

Per fare questo uso una nuova matrice in cui inserisco sequenzialmente la coppia di indici [num_random][0] e [num_random][1].
Seguendo l'esempio precedente: il primo numero random è 1, perciò inserisco in matriceFinale[0][0] e [0][1] la coppia [1][0],[1][1] (quindi A C va in prima posizione) e così via.
Il problema sta nel fatto che devo "eliminare" dalla matrice iniziale la coppia [1][0],[1][1], e considerare solo gli elementi (A B, B C) per la prossima "estrazione random".

Se non hai capito provo a rispiegarlo, comunque in sostanza quello che devo fare è cambiare l'ordine alle coppie della matrice ("scambiandole di riga"). Il problema che ho è quello di eliminare ogni volta l'elemento dalla matrice iniziale.
 
Ultima modifica:

lukeonweb

Utente Attivo
5 Mar 2003
5.175
13
38
45
Napoli
www.lucaruggiero.it
Simone il discorso è chiaro, solo che credo di non esserlo stato io :)

Quella che hai descritto, in un certo senso, è la soluzione... io intendevo dire qual'è lesigenza, il problema, chiaro? :p

Dunque... in ogni caso un consiglio a prescindere:

var elementi = new Array();
elementi[0] = "A#A";
elementi[1] = "A#B";
elementi[2] = "A#C";

su elementi[N] fai lo split degli elementi contenuti per il carattere #

vedi se può andare...
 

simo!

Nuovo Utente
30 Mar 2006
19
0
0
Sono riuscita a risolvere usando semplicemente la funzione splice degli Array!!!!

Problema risolto :) !

Grazie lo stesso per la disponibilità!
 
Discussioni simili
Autore Titolo Forum Risposte Data
I aiuto urgente per thunderbird Posta Elettronica 0
C Urgente Ricerca Aiuto (a Pagamento) Form Altri Annunci 0
F Aiuto programmino javascript URGENTE please Javascript 0
A help cerco aiuto urgente x restyle sito + implemento pos virtuale HTML e CSS 2
A Help cerco aiuto urgente! HTML e CSS 4
foki URGENTE: Aiuto Banner SWF Flash 1
G HO urgente bisogno d'aiuto Windows e Software 0
E richiesta aiuto urgente Classic ASP 0
C Effetto rollover [era:aiuto urgente!!] Javascript 5
F aiuto urgente mattere video in swf *prime armi Flash 0
I Aiuto!!!problema Urgente!!! Programmazione 1
P AIUTO URGENTE: ajax e caricamento immagine Ajax 3
S Aiuto Urgente ASP.NET 0
L Commenti & Calendari in Php:Aiuto Urgente! PHP 0
checcox87 lista eccezioni java (era: urgente aiuto) Java 2
K Apertura popup indesiderata [era:aiuto urgente] HTML e CSS 7
S aiuto PHP urgente PHP 2
P Aiuto Urgente con BANNER HTML e CSS 1
W click tracking , problemi con la visualizzazione del php aiuto urgente PHP 1
A aiuto urgente!!!!!!!! Programmazione 1
H Aiuto Urgente Con Mini Script Please PHP 1
F Aiuto urgente, please Programmazione 1
M Aiuto Flash**** URGENTE Flash 0
T Semplice aiuto ma URGENTE Flash 1
A Aiuto urgente Flash 3
M urgente aiuto!!!! Flash 0
A Urgente aiuto Flash 1
E Aiuto per query PHP 8
R Aiuto ripristino sito web Presentati al Forum 0
L Aiuto con DataGridView Visual Basic 1
F Aiuto! cambio immagine di sfondo al cambio pagina HTML e CSS 2
I aiuto per outlook Posta Elettronica 0
D aiuto funzioni javascript Javascript 1
T aiuto per trasformare un quiz fatto in JS in un quiz in JQUERY jQuery 0
D Aiuto CSS in ELEMENTOR - Cambiare un testo CMS (Content Management System) 0
M Fullcalendar in Codeigniter, un aiuto per la chiamata $ajax ? jQuery 0
K Aiuto con file audio in html HTML e CSS 1
G Script notifiche dekstop aiuto Javascript 0
P Aiuto per rendere un Bot Telegram Privato PHP 1
M Un aiuto da chi ha apple Mac e Software 0
P Richiesta di aiuto Presentati al Forum 1
A Aiuto per pagina php PHP 0
M Questa pagina non carica correttamente Google Maps: aiuto!! HTML e CSS 1
I Aiuto php Dependent Lookup PHP 0
R Aiuto con le query MS Access 2
M AIUTO ESERCIZIO JAVA Javascript 1
G Aiuto con htaccess e rewriterule PHP 0
T cercasi aiuto per file d1 (open-edge db) Database 0
M Aiuto con inserimento immagini WordPress 6
D aiuto schermata photoshop Photoshop 0

Discussioni simili