J'ai un tableau d'objets. Chaque objet a une propriété appelée nom. Je veux supprimer efficacement un objet avec un nom particulier du tableau. Est-ce la meilleure façon?Manière plus efficace de supprimer un élément d'un tableau dans Actionscript 3
private function RemoveSpoke(Name:String):void {
var Temp:Array=new Array;
for each (var S:Object in Spokes) {
if (S.Name!=Name) {
Temp.push(S);
}
}
Spokes=Temp;
}
Une chose importante à propos de cette solution: ça marchera si chaque "nom" est unique. S'il y a plusieurs objets avec le même nom, la table de recherche échouera, au moins si elle est construite comme ceci. – Quasimondo
intéressant ... donc vous avez essentiellement deux listes avec des données en double ... en général serait-il préférable d'utiliser simplement des tables de recherche et de se passer de tableaux pour ces situations? cela fonctionne-t-il simplement parce que l'objet a une propriété 'name' ou que la méthode' indexOf' recherche dans chaque valeur de propriété de l'objet? – mga
Oui, si vous n'avez pas besoin du tableau à d'autres fins (comme le tri ou l'accès aux éléments par index), dans ce cas, vous pouvez simplement utiliser la table de recherche. indexOf trouve des instances d'un objet. Dans ce cas, il n'utilise pas du tout "nom" pour la comparaison. Le nom est utilisé comme hachage dans la table de recherche. – Quasimondo