Created
August 3, 2015 02:57
-
-
Save clayton-perszyk/dcebced03046d9c0e1d9 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // PUT YOUR CODE HERE!!! | |
| var _ = { | |
| average: function(array) { | |
| if (!Array.isArray(array)){ return "can only find average of numbers." } | |
| var length = array.length; | |
| var sum = 0; | |
| for (var i = 0; i < length; i += 1) { | |
| sum += array[i]; | |
| } | |
| return sum / length; | |
| }, | |
| contains: function(array, number) { | |
| var length = array.length; | |
| for (var i = 0; i < length; i += 1) { | |
| if (array[i] === number) { | |
| return true | |
| } | |
| } | |
| return false; | |
| }, | |
| first: function(array) { | |
| return array[0]; | |
| }, | |
| last: function(array) { | |
| return array[array.length - 1] | |
| }, | |
| max: function(array) { | |
| var length = array.length; | |
| var maximum = 0; | |
| for (var i = 0; i < length; i += 1) { | |
| if (array[i] > maximum) { | |
| maximum = array[i]; | |
| } | |
| } | |
| return maximum; | |
| }, | |
| min: function(array) { | |
| var length = array.length; | |
| var min; | |
| for (var i = 0; i < length; i += 1) { | |
| if (min === undefined || array[i] < min) { | |
| min = array[i] | |
| } | |
| } | |
| return min; | |
| }, | |
| shuffle: function(array) { | |
| var newArr = []; | |
| var index = array.length; | |
| var tempVar; | |
| var randomIndex; | |
| for (var i = length; i > 0; i -= 1) { | |
| randomIndex = Math.floor(Math.random() * (i + 1)); | |
| tempVar = array[randomIndex]; | |
| array[randomIndex] = array[i]; | |
| array[i] = tempVar; | |
| } | |
| return array; | |
| }, | |
| sample: function(array, elements) { | |
| var randomElements = []; | |
| var random; | |
| var indexToRemove; | |
| if (!elements) { return array[Math.floor(Math.random() * (length - 1))] } | |
| for (var i = 1; i <= elements; i += 1) { | |
| random = Math.floor(Math.random() * (array.length - 1)); | |
| randomElements.push(array[random]) ; | |
| indexToRemove = array.indexOf(array[random]); | |
| array.splice(indexToRemove, 1); | |
| } | |
| return randomElements; | |
| }, | |
| difference: function(array1, array2) { | |
| var diffArray = []; | |
| for (var i = 0; i < array2.length; i += 1) { | |
| for (var j = 0; j < array1.length; j += 1) { | |
| if (!(array1[j] === array2[i]) && diffArray.indexOf(array1[i]) === -1) { | |
| diffArray.push(array1[i]); | |
| } | |
| } | |
| } | |
| return diffArray; | |
| }, | |
| indexOf: function(array, value) { | |
| for (var i = 0; i < array.length; i += 1) { | |
| if (array[i] === value) { | |
| return i; | |
| } | |
| } | |
| return -1; | |
| }, | |
| pluck: function(array, propName) { | |
| var propValues = []; | |
| for (var i = 0; i < array.length; i += 1) { | |
| propValues.push(array[i][propName]); | |
| } | |
| return propValues; | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment