Enlever une valeur dans un array (clearvalor en proto de array)

Soyez le premier à donner votre avis sur cette source.

Vue 2 830 fois - Téléchargée 139 fois

Description

Amelioration du tutaux de Djawel >> ENLEVER UNE VALEUR DANS UN ARRAY

Vu que l'idée était bonne et la réalisation moins... Je vous l'ai simplifé... Merci à Djawel !

Maintenant efface MEME les doublons ! ; )

Source / Exemple :


// Créa du proto
Array.prototype.clearValor = function (val, all) {
	for (var i = 0; i <= this.length; i++) {
		if (this[i] == val) {
			this.splice (i, 1);
			// NOUVEAU ! ------------
			if (!all) {
				break;
			}
			// ----------------------
		}
	}
};
// Ton tableau 1
myArray = new Array ("valeur1", "valeur2", "valeur3", "valeur4");
//
myArray.clearValor ("valeur2", false);
// Affichera : valeur1,valeur3,valeur4
trace (myArray + " => valeur2 a disparu !");
//
//
//AVANT : si votre tableau commporte des valeurs identiques (doublons) la fonction supprimera la première d'entre elle.
// Affichera : valeur2,valeur1,valeur4 
myArray2 = new Array ("valeur1", "valeur2", "valeur1", "valeur4");
myArray3 = new Array ("valeur1", "valeur2", "valeur1", "valeur4");
//
//APRES : Efface TOUTES les "valeur2"
myArray2.clearValor ("valeur1", true);
trace (myArray2 + " => TOUTES les valeur1 ont disparues !");
//
//APRES : Efface TOUTES les "valeur2"
myArray3.clearValor ("valeur1", false);
trace (myArray3 + " => SEULEMENT LA PREMIERE valeur1 a disparue !");
//
// Functionne aussi avec des nombres ou des clips ou autres
myArray3 = new Array (125, 385, 415.3, 385);
myArray3.clearValor (385);
trace (myArray3 + " => TOUTES les '385' ont disparues !");

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

djawel
Messages postés
49
Date d'inscription
lundi 1 juillet 2002
Statut
Membre
Dernière intervention
11 janvier 2006

merci pour la démonstration :) , je rajouterais un "break;" apres "this.splice (i, 1);", pour ceux qui ne veulent pas enlever toutes les valeurs identique (ce qui est vrai pour moi), mais seulement une entrée précise.
Merci top 30;
top30
Messages postés
1158
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
6 août 2010

Maintenant t'as plus qu'à dire "TRUE" si tu veux TOUS EFFACER, et "FALSE" si tu ne veux effacer que la première !

A plus ! ; )

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.