Table des matières
Niveau
..........
En rapport...

Supprimer une ligne dans un array

J'ai eu besoin d'effacer completement une ligne dans un array.
Apres quelque recherche infrctueuse sur google, j'ai décider de mettre la main à la patte.

Vous pouvez utliser la fonction native javascript :

javascript
delete tableau[index]; 
//effacera la ligne du tableau

Mais celle-ci laisse un “trou” dans le tableau, ce qui peu être génant…

Fonction

Le principe est simple :

javascript
function unset(array, valueOrIndex){
	var output=[];
	for(var i in array){
		if (i!=valueOrIndex)
			output[i]=array[i];
	}
	return output;
}

Utilisation

Il suffit d'appeler la fonction en lui passant en parametre le tableau a modifier et l'index a supprimer.

L'index peut etre soit une chaîne (pour les tableaux associatifs), soit un entier.

Exemple

Voir les index de depart
Suppression des index "1" et 2

javascript
function unset(array, valueOrIndex){
	var output=[];
	for(var i in array){
		if (i!=valueOrIndex)
			output[i]=array[i];
	}
	return output;
}
 
var msg="";
var a=[];
a[0]="ligne1";
a["1"]="ligne2";
a[2]="ligne3";
a[3]="ligne4";
 
var msg="Entree : ";
for (i in a)
	msg+=i+" ";
alert(msg);
 
a=unset(a, "1");
a=unset(a, 2);
 
var msg="Sortie : ";
for (i in a)
	msg+=i+" ";
alert(msg);
 
/*
Il reste :
a[0]
a[3]
*/


21/12/2006 21:40 -

iDo –