diff --git a/src/isolate-duplicates/index.js b/src/isolate-duplicates/index.js index 79ae426..cfa29c4 100644 --- a/src/isolate-duplicates/index.js +++ b/src/isolate-duplicates/index.js @@ -1,3 +1,55 @@ -function isolateDuplicates(text) {} +function isolateDuplicates(text) { + if(typeof(text) !== "string" ) { + throw Error("Please enter a valid string"); + } + + let duplicate = {}; + let newString = ""; + let str = ''; + let count = 0; + let stringCount = []; + let newText = text.toLowerCase() + + for(let i = 0; i < newText.length; i++) { + if(newString !== newText[i]) { + if(duplicate[newString] > 2) { + + str += ']'; + + } + + duplicate[newString] = 0; + newString = newText[i]; + } + + if(!duplicate[newText[i]]) { + + duplicate[newText[i]] = 1; + + } else if(duplicate[newText[i]] == 1) { + + duplicate[newText[i]]++ + + } else if(duplicate[newText[i]] == 2) { + + str += '[' + + duplicate[newText[i]]++ + count++ + } + str += text[i]; + } + if(duplicate[newString] > 2) { + + str += ']' + } + stringCount.push(str); + stringCount.push(count) + + return stringCount; + + } + + module.exports = isolateDuplicates; diff --git a/src/morse/index.js b/src/morse/index.js index cf65063..e940956 100644 --- a/src/morse/index.js +++ b/src/morse/index.js @@ -58,6 +58,30 @@ const MORSE_CODE = { Object.freeze(MORSE_CODE); -function morse(text) {} + function morse(text) { + + if (typeof text !== "string") throw "Please provide a morse string" + + let result = text + + .split(' ') + + .map( + + a => a + + .split(' ') + + .map(b => MORSE_CODE[b] ).join('')).join(' '); + + + + + + + + return result.trim(); + +} module.exports = morse; diff --git a/src/remove-dulplicates/index.js b/src/remove-dulplicates/index.js index 75c6c9b..80dce79 100644 --- a/src/remove-dulplicates/index.js +++ b/src/remove-dulplicates/index.js @@ -1,3 +1,22 @@ -function removeDuplicates(obj) {} +function removeDuplicates(obj) { + let arr2 = []; + let newObj = {}; + let key = Object.keys(obj); + for( let i = key.length-1; i >= 0; i--){ + let value = obj[key[i]]; + let newArr =[]; + for( let j = 0; j