niedziela, lipca 02, 2006

Distinct (albo unique) w JavaScript

Nieraz nadziałem się na brak metody unique() czy też distinct() w tablicach w JavaScript'cie.Przydatna byłaby ona gdy z zestawu danych przechowywanych w tablicy chcemy otrzymać tylko pojedynczej wystąpienia wszystkich elementów.Czyli w tablicy mamy np.: 1, 1, 7, 12, 5, 34, 7, 18, 3W wyniku chcemy zaś mieć tablicę: 1, 3, 5, 7, 12, 18, 34W idealnym świecie wyglądałoby to tak:var tab = "1,1,7,12,5,34,7,18,3".split(",");tab.distinct();i wynikiem byłaby tablica z 1, 3, 5, 7, 12, 18, 34......Jednak nie żyjemy jeszcze w idealnym świecie ;-)Dlatego zwykle problem rozwiązywałem w taki sposób:var tab = "1,1,7,12,5,34,7,18,3".split(","); tab.sort();var tab2=new Array();tab2[0]=tab[0];for (i=1; idziś zaś wpadłem na taki oto pomysł:var tab = "1,1,7,12,5,34,7,18,3".split(",");var tab2 = new Array();var tab3 = new Array();for (i=0; iSzczerze przyznam, że ten drugi pomysł mi się bardziej podoba :-)I zastosowałem go już tutaj :-)


Podobne postybeta
Distinct w JavaScript #2
A takie tam ;-)
2016 będzie rokiem "nietypowym"
"Zestaw inspektora" się tworzy ;-)
Chrome2ChromeV2, TabCast czy może TabHermes albo Tabcury? ;-)