diff --git a/RGTichy/.DS_Store b/RGTichy/.DS_Store index 61e1c2a..cd2cba4 100644 Binary files a/RGTichy/.DS_Store and b/RGTichy/.DS_Store differ diff --git a/RGTichy/arrayRemoveDuplicates copy.js b/RGTichy/arrayRemoveDuplicates copy.js index c92f465..9505eee 100644 --- a/RGTichy/arrayRemoveDuplicates copy.js +++ b/RGTichy/arrayRemoveDuplicates copy.js @@ -1,24 +1,29 @@ function arrayRemoveDuplicates(arr) { - var off=1; - for (var i = 0; i < arr.length; i++) { - console.log("Before: idx="+i+", off="+off+", arr="+arr) - if (arr[i] === arr[i + 1]|| arr[i] > arr[i+1]) { - arr[i+1]=arr[i+1+off]; - off++; - i--; - console.log("After: idx="+i+", off="+off+", arr="+arr) + var offset = 1; + var i = 0; + while (i < arr.length && offset 0){ + var suffix = []; + var j = 1; + var match = true; + while (match) { + var letter = array[0].charAt(array[0].length - j); + for (var i = 1; i < array.length; i++) { + if(array[i].charAt(array[i].length - j) !== letter){ + match = false; + break; + } + } + if(match){ + suffix=letter+suffix; + j++; + } + } + return suffix; + } +} +var rhymeArray = ['book', 'look', 'shook', 'mistook', 'took']; +console.log(rhymeFinder(rhymeArray)); diff --git a/RGTichy/ch4/invertHash.js b/RGTichy/ch4/invertHash.js new file mode 100644 index 0000000..0ab2ee6 --- /dev/null +++ b/RGTichy/ch4/invertHash.js @@ -0,0 +1,11 @@ +function invertHash(obj1) { + obj2 = {}; + // for "each key" in object obj1, + // flip the value/key pair and write + //them into obj2 + for (key in obj1) { + obj2[ obj1[key] ] = key; + } + return(obj2) +} +console.log(invertHash({'A':1,'B':2,'C':4})) diff --git a/RGTichy/ch4/maxMinAvgwithObject.js b/RGTichy/ch4/maxMinAvgwithObject.js new file mode 100644 index 0000000..6242e22 --- /dev/null +++ b/RGTichy/ch4/maxMinAvgwithObject.js @@ -0,0 +1,21 @@ +function maxMinAvgObject(array) { + var object = {}; + var min = array[0]; + var max = array[0]; + var avg = 0; + var sArray=[]; + for (var i = 0; i < array.length; i++){ + avg = avg + array[i]; + if (array[i] < min) {min = array[i];} + if (array[i] > max) {max = array[i];} + sArray.push(array[i]); + } + avg = avg / (array.length); + object['maximum']=max; + object['minimum']=min; + object['average']=avg; + sArray.sort(); + object['median']=array[Math.floor(sArray.length/2)]; + return(object); +} +console.log(maxMinAvgObject([4,6,1,8,1,2,4,3,2,1,4,8,95,70,32])) diff --git a/RGTichy/ch4/numberOfValues.js b/RGTichy/ch4/numberOfValues.js new file mode 100644 index 0000000..bc3e347 --- /dev/null +++ b/RGTichy/ch4/numberOfValues.js @@ -0,0 +1,14 @@ +function numberOfValues(obj) { + var size = 0; + for (key in obj) { + size++; + } + return(size); +} +console.log(numberOfValues({ + a:1, + 32768:2, + ama:'zing', + g:7, + 14:19, +}))