Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions starter-code/.jshintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{ "esversion":6 }
243 changes: 243 additions & 0 deletions starter-code/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

33 changes: 26 additions & 7 deletions starter-code/src/array-functions.js
Original file line number Diff line number Diff line change
@@ -1,33 +1,52 @@
var ArrayFunctions = function (){}
class ArrayFunctions {
constructor () {

}

printSpecial (array) {
return array.join(" --- ");
}

doubleArray (array) {
return array.map(number => number * 2);

}

superPower (array) {
return array.reduce((sum, number, index) => sum + (number * (Math.pow(10, index))));

}
}
//var ArrayFunctions = function (){};

// 1) Define a function that takes an array with numbers and prints all the elements of the array, separated by " --- "
// ArrayFunctions.printSpecial([12, 33, 144, 122])
// 12 -- 33 -- 144 -- 122

ArrayFunctions.prototype.printSpecial = function (array) {
/*ArrayFunctions.prototype.printSpecial = function (array) {
return array.join(" --- ");
};
};*/

// 2) Define a function that takes an array with numbers and returns another array where each element contains double each element in the array
// ArrayFunctions.doubleMyArray([10, 20, 35, 12])
// [20, 40, 70, 24]

ArrayFunctions.prototype.doubleArray = function(array){
/*ArrayFunctions.prototype.doubleArray = function(array){
return array.map(function(number){
return number * 2;
});
};
};*/

// 3) Define a function that takes an array with numbers and returns the result of multiplying each element by ten to the power of the position it's in:
// ArrayFunctions.superPower([1,2,3,4,5])
// 54321
// explanation: (1 x 10^0) + (2 x 10^1) + (3 x 10^2) + (4 x 10^3) + (5 x 10^4)
// explanation: (1) + (20) + (300) + (4000) + (50000)

ArrayFunctions.prototype.superPower = function(array){
/*ArrayFunctions.prototype.superPower = function(array){
return array.reduce(function(sum, number, index){
return sum + (number * (Math.pow(10, index)));
});
}
};*/

module.exports = ArrayFunctions;
8 changes: 4 additions & 4 deletions starter-code/src/bubble-sort.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
function bubbleSort(array) {
var length = array.length;
for (var i = (length - 1); i > 0; i--) {
const length = array.length;
for (let i = (length - 1); i > 0; i--) {
// Number of passes
for (var j = (length - i); j > 0; j--) {
for (let j = (length - i); j > 0; j--) {
// Compare the adjacent positions
if (array[j] < array[j - 1]) {
// Swap the numbers
var tmp = array[j];
let tmp = array[j];
array[j] = array[j - 1];
array[j - 1] = tmp;
}
Expand Down
15 changes: 9 additions & 6 deletions starter-code/src/merge-sort.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
function mergeSort(array) {
if(array.length < 2) { return array }
if(array.length < 2) { return array; }

var middle = Math.floor(array.length / 2);
var left = array.slice(0, middle);
var right = array.slice(middle);
const middle = Math.floor(array.length / 2);
const left = array.slice(0, middle);
const right = array.slice(middle);

return sortHalves(mergeSort(left), mergeSort(right));
}

function sortHalves(left, right) {
var array = [];
let array = [];

while(left.length && right.length) {
if(left[0] < right[0]) {
Expand All @@ -21,7 +21,10 @@ function sortHalves(left, right) {
// array.slice() with no arguments is a trick to make a copy of the array
// .concat is to smash all of the arrays together
// ...maybe there's an ES6 way to do this?
return array.concat(left.slice()).concat(right.slice());
//return array.concat(left.slice()).concat(right.slice());
array.push(...left, ...right);
//array = [...left, ...right];
return array;
}

module.exports = mergeSort;
Loading