Skip to content

Instantly share code, notes, and snippets.

View jonurry's full-sized avatar
🎯
Product Developer at AND Digital, Node, TypeScript, AWS, always learning.

Jon Urry jonurry

🎯
Product Developer at AND Digital, Node, TypeScript, AWS, always learning.
View GitHub Profile
@jonurry
jonurry / 2-1 Eloquent Javascript Solutions.js
Last active October 16, 2023 09:31
2.1 Looping a triangle (Eloquent JavaScript Solutions)
for (var triangle = "#"; triangle.length <= 7; triangle += "#")
console.log(triangle);
@jonurry
jonurry / 2-2 Eloquent Javascript Solutions.js
Last active July 27, 2021 12:54
2.2 FizzBuzz (Eloquent JavaScript Solutions)
for (var i = 1; i <= 100; i++) {
if (i%3==0 && i%5==0)
console.log("FizzBuzz");
else if (i%3==0)
console.log("Fizz");
else if (i%5==0)
console.log("Buzz");
else
console.log(i);
}
@jonurry
jonurry / 2-3 Eloquent Javascript Solutions.js
Last active June 19, 2022 03:25
2.3 Chess Board (Eloquent JavaScript Solutions)
var gridSize = Number(prompt("Enter size of grid", "8"));
var totalSize = (gridSize * gridSize) + gridSize;
var grid = "";
for (i = 0; i < totalSize; i++) {
if (i % (gridSize + 1) == 0)
grid += "\n";
else if (i % 2 == 0)
grid += "#";
else
grid += " ";
@jonurry
jonurry / 3-1 Eloquent Javascript Solutions.js
Last active February 16, 2018 17:12
3.1 Minimum (Eloquent JavaScript Solutions)
function min(a,b) {
var result = b;
if (a < b)
result = a;
return result;
}
console.log(min(0, 10));
// → 0
console.log(min(0, -10));
@jonurry
jonurry / 3-2 Eloquent Javascript Solutions.js
Last active April 28, 2021 03:01
3.2 Recursion (Eloquent JavaScript Solutions)
function isEven(num) {
if (num == 0)
return true;
if (num == 1)
return false;
if (num < 0)
return "??";
else return isEven(num - 2);
}
@jonurry
jonurry / 3-3 Eloquent Javascript Solutions.js
Last active July 7, 2023 10:44
3.3 Bean Counting (Eloquent JavaScript Solutions)
function countBs(s) {
var count = 0;
for (var i = 0; i < s.length; i += 1) {
if (s.charAt(i) === "B")
count += 1;
}
return count;
}
function countChar(s, c) {
@jonurry
jonurry / 4-1 Eloquent Javascript Solutions.js
Last active December 28, 2023 13:27
4.1 Sum of a Range (Eloquent JavaScript Solutions)
// step parameter is optional
// if step is not passed in,
// and start is less than or equal to end,
// then step = 1, else step = -1
function range(start, end, step = start <= end ? 1 : -1) {
let result = [];
// loop iterates up for positive step values
// and iterates down for negative step values
for (let i = start; step >= 0 ? i <= end : i >= end; i+=step) {
result.push(i);
@jonurry
jonurry / 4-2 Eloquent Javascript Solutions.js
Created February 6, 2018 17:04
4.2 Reversing an Array (Eloquent JavaScript Solutions)
function reverseArray(array) {
result = [];
for (let item of array) {
result.unshift(item);
}
return result;
}
function reverseArrayInPlace(array) {
let len = array.length;
@jonurry
jonurry / 4-3 Eloquent Javascript Solutions.js
Last active July 17, 2022 10:57
4.3 A List (Eloquent JavaScript Solutions)
function arrayToList(array) {
let result = {};
if (Array.isArray(array)) {
let currListItem = result;
for (let item of array) {
let newListItem = {
value: item,
rest: null
};
if (typeof currListItem.rest === 'undefined') {
@jonurry
jonurry / 4-4 Eloquent Javascript Solutions.js
Last active March 22, 2022 20:31
4.4 Deep Comparison (Eloquent JavaScript Solutions)
function deepEqual(a, b) {
if (a === b) {
// items are identical
return true;
} else if (typeof a === 'object' && a !== null && typeof b === 'object' && b !== null) {
// items are objects - do a deep property value compare
// join keys from both objects together in one array
let keys = Object.keys(a).concat(Object.keys(b));
// filter out duplicate keys
keys = keys.filter(