Powiedzmy mam zbiór różnych adresów URL w tablicy:grupowe podobne sznurki z tablicy w node.js
var source = ['www.xyz.com/Product/1', 'www.xyz.com/Product/3', 'www.xyz.com/Category/1', 'somestring']
Jaki byłby dobry sposób iteracyjne nad tablicy i grup podobnych do strun osobna tablica? Pożądana wyjście z powyższego przykładu będzie:
var output = [
['www.xyz.com/Product/1', 'www.xyz.com/Product/3'],
['www.xyz.com/Category/1'],
['somestring']
];
Warunki
- Wszystkie elementy w
source
może być losowe ciągi - Logika musi być w stanie porównać i grupa około 100' 000 produktów w znaczącym czasie
Znalazłem string-similarity library, co daje możliwość porównania jednego ciągu z kolekcją ciągów. Jednym ze sposobów jest powtórzenie źródła, porównanie każdego elementu z kolekcją źródłową i zastosowanie reguły do grupowania elementów o podobnym wyniku. Jednak myślę, że byłoby to okropnie nieefektywne.
Czy ktoś może zaproponować mi skuteczny sposób osiągnięcia tego, czego potrzebuję?
Tak więc w przykładzie istnieje wyraźny wzór, ale wygląda na to, że pytasz o ciągi, które mogą być cokolwiek? czy to jest poprawne? – aw04
@ aw04 Tak, nie ma wyraźnego wzorca, że łańcuchy mogą być dowolne. Jak napisałem: Wszystkie elementy w źródle mogą być losowymi ciągami – enyce12
powodzenia następnie :) – aw04