Skip to content

Instantly share code, notes, and snippets.

View cplpearce's full-sized avatar
🙃
Riding the programming emotional roller coaster

lorem ipsum cplpearce

🙃
Riding the programming emotional roller coaster
View GitHub Profile
@cplpearce
cplpearce / kata2ConditionalSums.js
Created August 8, 2020 02:32
Kata 2 - Conditional sums
const conditionalSum = function(values, condition) {
let total = 0;
for (let val of values) {
if (condition === "even") {
val % 2 === 0 ? total += val : total += 0;
} else if (condition === "odd") {
val % 2 !== 0 ? total += val : total += 0;
} else {
continue;
}
@cplpearce
cplpearce / kata3Vowels.js
Created August 8, 2020 02:41
Kata 3 - Vowels
const numberOfVowels = function(data) {
let count = 0;
for (let char of data) {
switch(char) {
case "a":
count++;
break;
case "e":
count++;
break;
@cplpearce
cplpearce / kata4InstructorsNames.js
Last active March 1, 2024 17:31
Kata 4 - Instructors Names
const instructorWithLongestName = function(instructors) {
let longestName = "";
for (let i of instructors) {
i.name.length > longestName.length && (longestName = i.name);
}
return longestName;
};
console.log(instructorWithLongestName([
{name: "Samuel", course: "iOS"},
@cplpearce
cplpearce / kata5PercentEncodedString.js
Created August 8, 2020 02:54
Kata 5 - Percent Encoded String
const urlEncode = function(text) {
let newURL = "";
for (let c = 0; c < text.length; c++) {
text[c] === " " ? (c === 0 || c === text.length - 1) ? null : newURL += "%20" : newURL += text[c]
}
return newURL;
};
console.log(urlEncode("Lighthouse Labs"));
console.log(urlEncode(" Lighthouse Labs "));
@cplpearce
cplpearce / kata6SmartParking.js
Last active March 1, 2024 17:31
Kata 6 - SmartParking
const whereCanIPark = function (spots, vehicle) {
let coords = null;
let veh = [];
if (vehicle === "regular") {
veh = ["R"];
} else if (vehicle === "small") {
veh = ["R", "S"];
} else if (vehicle === "motorcycle") {
veh = ["R", "S", "M"];
} else {
@cplpearce
cplpearce / kata7InTheAirTonight.js
Created August 8, 2020 04:10
Kata 7 - In the Air Tonight
const checkAir = function (samples, threshold) {
let countDirty = 0;
for (let quality of samples) {
quality === "dirty" ? countDirty++ : null;
}
let ratio = countDirty / samples.length;
return (ratio > threshold ? "Polluted" : "Clean");
};
console.log(checkAir(
@cplpearce
cplpearce / kata1SumTheLargestNumbers.js
Last active March 1, 2024 17:31
Kata 1 - Sum the Largest Numbers
const sumLargestNumbers = function(data) {
let numOne = {index : 0, value : 0};
let numTwo = 0;
for (let [i, num] of data.entries()) {
num > numOne.value && (numOne.index = i) && (numOne.value = num);
}
data.splice(numOne.index, 1);
for (let num of data) {
num > numTwo && (numTwo = num);
}
@cplpearce
cplpearce / kata6RepeatingNumbers.js
Created August 8, 2020 14:59
Kata 6 - Repeating Numbers
const repeatNumbers = function(data) {
const strRepeater = [];
for (let pair of data) {
let tempStr = '';
tempNum = pair[0].toString();
for (let i = 0; i < pair[1]; i++) {
tempStr += tempNum;
}
strRepeater.push(tempStr);
}
@cplpearce
cplpearce / kata7CaseMaker.js
Created August 8, 2020 15:17
Kata 7 - Case Maker
const camelCase = function(input) {
let tempString = "";
let capitalize = false;
for (let char of input) {
if (char === " ") {
capitalize = true;
continue;
} else if (capitalize === true) {
tempString += char.toUpperCase();
capitalize = false;
@cplpearce
cplpearce / kata8MultiplicationTable.js
Created August 8, 2020 23:48
Kata 8 - Multiplication Table
const multiplicationTable = function(maxValue) {
let numArray = [];
for (i = 1; i <= maxValue; i++) {
let rowArray = [];
for (j = 1; j <= maxValue; j++) {
rowArray.push(i * j);
}
numArray.push(rowArray);
}
let returnString = '';