test
unknown
typescript
5 months ago
1.2 kB
2
Indexable
const str = 'кошка,собака,собака,лошадь,корова,корова,кошка' function replaceDuplicate(str:string):string { const strSet = new Set(str.split(",")) const uniqueValues = Array.from(strSet.values()).join(',') return uniqueValues // Простой вариант с преобразованием в сет и обратно } function replaceDuplicateWithMap(str: string):string { let result = '' let currentWord = '' const wordMap = new Map<string, string>() for(let x = 0; x<str.length; x++) { const currentChar = str[x] debugger; if(currentChar!==',') currentWord+=currentChar if((currentChar === ',' || x===str.length-1) && currentWord) { if(!wordMap.has(currentWord)) { wordMap.set(currentWord, currentWord) result+= !result.length? currentWord : `,${currentWord}` } currentWord = '' } } return result // Более оптимальный вариант по памяти } console.log(replaceDuplicate(str)) console.log(replaceDuplicate(replaceDuplicateWithMap(str)))
Editor is loading...
Leave a Comment