Skip to content
This repository was archived by the owner on Jan 14, 2024. It is now read-only.
53 changes: 30 additions & 23 deletions debugging/demo/demo1/demo1.js
Original file line number Diff line number Diff line change
@@ -1,35 +1,42 @@
const tomatoes = 'tomatoes';
const chocolate= 'chocolate'yummy';
const yogurt = 'yogurt';
const tomatoes = "tomatoes";
const chocolate = "chocolate yummy";
const yogurt = "yogurt";
const rice = "rice";

const fridge =[{ item: tomatoes, quantity: 5},
{ item: chocolate, quantity: 1},
{ item: yogurt, quantity: 5}];
const fridge = [
{ item: tomatoes, quantity: 5 },
{ item: chocolate, quantity: 1 },
{ item: yogurt, quantity: 5 },
];

const wantedList = [{ item: tomatoes, quantity: 4},
{ item: chocolate, quantity: 10},
{ item: yogurt, quantity: 2}]
const wantedList = [
{ item: tomatoes, quantity: 4 },
{ item: chocolate, quantity: 10 },
{ item: yogurt, quantity: 2 },
];

const shoppingList = (fridge, wantedList) => {
return wantedList.map(groceryWantedList => {
let groceryFridge = fridge.find( gf => gf.item === groceryWantedList.item);
if (groceryFridge===null){
return wantedList
.map((groceryWantedList) => {
let groceryFridge = fridge.find(
(gf) => gf.item === groceryWantedList.item
);
if (groceryFridge === null) {
return groceryWantedList;
} else {
if (groceryFridge.quantity < groceryWantedList.quantity){
if (groceryFridge.quantity < groceryWantedList.quantity) {
return {
item: groceryWantedList.item,
quantity: groceryWantedList.quantity - groceryFridge.quantity
item: groceryWantedList.item,
quantity: groceryWantedList.quantity - groceryFridge.quantity,
};
}
else{
return null;
} else {
return null;
}
}
}
}).filter(item => item !== null);
})
.filter((item) => item !== null);
};

shoppingList (fridge, wantedList).forEach( (item) => {
console.log (`${item.item}: ${item.quantity}`);
})
shoppingList(fridge, wantedList).forEach((item) => {
console.log(`${item.item}: ${item.quantity}`);
});
3 changes: 2 additions & 1 deletion debugging/demo/demo2/index.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<html>
<head>
<script type="text/javascript" src="mainScript.js"></script>
<link
rel="stylesheet"
type="text/css"
Expand All @@ -19,5 +18,7 @@ <h1>Javascript Demo Exercise 2</h1>
</div>
<div id="news"></div>
</div>

<script type="text/javascript" src="script.js"></script>
</body>
</html>
89 changes: 47 additions & 42 deletions debugging/demo/demo2/script.js
Original file line number Diff line number Diff line change
@@ -1,43 +1,48 @@
document.addEventListener("DOMContentLoaded", ( ) => {
var data = [
{
text: 'Overshadowing #UNGA is the big question: Will Obama and Rouhani meet?',
href: 'https://twitter.com/cnnbrk/status/382528782738800641'
},
{
text: "Marine's family hopes visiting Iranian president will help free their son",
href: 'https://twitter.com/cnnbrk/status/382519683053649920'
},
{
text: 'Obama addresses United Nations.',
href: 'https://twitter.com/cnnbrk/status/382507500903202817'
},
{
text: '',
href: 'https://twitter.com/CNNMoney/status/382497891723804672'
},
{
text: "If you're seeing this as a button, congratulations!",
href: 'http://twitter.com'
}
];
for (var i = 0; i<data.length; i++) {
if (data.text) {
const pElement = document.createElement("p");
const button = document.createElement("button");
button.type = "button"
button.classList.add(["btn", "btn-default"]);
button.setAttribute('data-href', data.href);
button.innerText = data.text;
pElement.appendChild(button);
document.querySelector('#news').appendChild(pElement);
}
}
const buttons = document.querySelectorAll("button");
document.addEventListener("DOMContentLoaded", () => {
var data = [
{
text: "Overshadowing #UNGA is the big question: Will Obama and Rouhani meet?",
href: "https://twitter.com/cnnbrk/status/382528782738800641",
},
{
text: "Marine's family hopes visiting Iranian president will help free their son",
href: "https://twitter.com/cnnbrk/status/382519683053649920",
},
{
text: "Obama addresses United Nations.",
href: "https://twitter.com/cnnbrk/status/382507500903202817",
},
{
text: "",
href: "https://twitter.com/CNNMoney/status/382497891723804672",
},
{
text: "If you're seeing this as a button, congratulations!",
href: "http://twitter.com",
},
];

buttons.forEach(el => el.addEventListener('click', evt => {
const ctrl = evt.target;
if (!ctrl.getAttribute('data-href')) {
document.location = ctrl.getAttribute('data-href');
}}))
})
for (var i = 0; i < data.length; i++) {
if (data[i].text) {
const pElement = document.createElement("p");
const button = document.createElement("button");
button.type = "button";
button.classList.add("btn", "btn-default");
button.setAttribute("data-href", data[i].href);
button.innerText = data[i].text;
pElement.appendChild(button);
document.querySelector("#news").appendChild(pElement);
}
}
const buttons = document.querySelectorAll("button");

buttons.forEach((el) =>
el.addEventListener("click", (evt) => {
const ctrl = evt.target;
console.log(ctrl);
if (ctrl.getAttribute("data-href")) {
document.location = ctrl.getAttribute("data-href");
}
})
);
});
20 changes: 9 additions & 11 deletions debugging/exercises/exercise1/exercise1.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,29 +8,27 @@ const countDown = () => {
console.log(secondsTolaunch--);
switch (secondsTolaunch) {
case 7:
console.log('Close Davy Jones' Locker..');
console.log("Close Davy Jones" + "Locker..");
break;
case 3:
console.log('Ignition...');
console.log("Ignition...");
break;
case 0:
console.log('Liftoff!');
console.log("Liftoff!");
clearInterval(interval);
break;
default:
break;
}

};


if (fuelLevel >= 20000) {
console.log(('Fuel level cleared.');
launchReady = true;
console.log("Fuel level cleared.");
launchReady = true;
} else {
console.log('WARNING: Insufficient fuel!');
launchReady = false;
console.log("WARNING: Insufficient fuel!");
launchReady = false;
}
if (launchReady){
interval = setInterval(countDown, 1000)
if (launchReady) {
interval = setInterval(countDown, 1000);
}
2 changes: 1 addition & 1 deletion debugging/exercises/exercise2/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,6 @@ <h1>Odin's Library</h1>
</button>
</div>
</div>
<script src="mainscript.js"></script>
<script src="main.js"></script>
</body>
</html>
16 changes: 8 additions & 8 deletions debugging/exercises/exercise2/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ const book2 = {
read: "No",
};

myLibrary.push(book1;
myLibrary.push(book1);
myLibrary.push(book2);

render();
Expand All @@ -28,15 +28,15 @@ addButtons.forEach((button) => {
button.addEventListener("click", () => {
formContainer.style.display = "block";
});
};
});

function addDeleteButtons() {
let deleteButtons = document.querySelectorAll(".delete");

deleteButtons.forEach((button) => {
if (button.getAttribute("data-book") == bookNumber) {
//Only add eventListeners to new books
button.addEventListener("clicksss", () => {
button.addEventListener("click", () => {
deleteBook(button.getAttribute("data-book"));
});
}
Expand Down Expand Up @@ -93,7 +93,7 @@ function render() {

let titleCell = document.createElement("td");
titleCell.append(myLibrary[i].title);
row.append(titleCella);
row.append(titleCell);

let authorCell = document.createElement("td");
authorCell.append(myLibrary[i].author);
Expand All @@ -120,7 +120,7 @@ function render() {
row.append(readCell);

let deleteCell = document.createElement("td");
let deleteB = document.createElement("button");
let deleteButton = document.createElement("button");
let icon = document.createElement("ion-icon");
icon.setAttribute("name", "trash-outline");
deleteButton.classList.add("delete");
Expand All @@ -133,7 +133,7 @@ function render() {

tableBody.insertBefore(row, tableBody.firstChild);

addDeletedButtons();
addDeleteButtons();
addReadButtons();

bookNumber++;
Expand All @@ -149,7 +149,7 @@ document.getElementById("submit").addEventListener("click", (e) => {

for (let element of form.elements) {
if (element.id === "read") {
element.checked ? bookArgs.push("No") : bookArgs.push("Yes");
element.checked ? bookArgs.push("Yes") : bookArgs.push("No");
element.checked = false;
} else {
bookArgs.push(element.value);
Expand All @@ -160,6 +160,6 @@ document.getElementById("submit").addEventListener("click", (e) => {
}

formContainer.style.display = "none";
addBookToLibrary(bookArgs[1], bookArgs[0], bookArgs[2], bookArgs[3]);
addBookToLibrary(bookArgs[0], bookArgs[1], bookArgs[2], bookArgs[3]);
render();
});
4 changes: 2 additions & 2 deletions errors/exercise1.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
if (3 > Math.PI {
console.log("wait what?");
if (3 > Math.PI) {
console.log("wait what?");
}
11 changes: 6 additions & 5 deletions errors/exercise2.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
let charge = function() {
if (sunny) {
useSolarCells();
} else {
promptBikeRide();
let charge = function () {
if (sunny) {
useSolarCells();
} else {
promptBikeRide();
}
};
2 changes: 1 addition & 1 deletion errors/exercise3.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
let ward = "hello";
word.substring(1);
ward.substring(1);
4 changes: 2 additions & 2 deletions errors/exercise4.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
let numbers = { a: 13, b: 37, c: 42 };
let numbers = [{ a: 13, b: 37, c: 42 }];

numbers.map(function (num) {
return num * 2;
return num * 2;
});
2 changes: 1 addition & 1 deletion errors/exercise5.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
let name;
let name = "string";
name.substring(1);
8 changes: 4 additions & 4 deletions errors/exercise6.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
// Item #2 on the list is eggs
// Item #3 on the list is milk

let arr ["bread", eggs", "milk"];
let arr = ["bread", "eggs", "milk"];

items.forEach(item, index -> {
console.log(`Item #${index + 1} on the list is ${item}`);
};
arr.forEach((item, index) => {
console.log(`Item #${index + 1} on the list is ${item}`);
});
35 changes: 17 additions & 18 deletions errors/exercise7.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,27 +6,26 @@
// ]

function getTemperatureReport(cities) {
let report = [];
let report = [];

for(let i = 0; i < cities.length(); i++) {
let temperature = temperatureService(city[i]);
report.push(`The temperature in ${city[i]} is ${temperature} degrees`);
}
return report;
for (let i = 0; i < cities.length; i++) {
let temperature = temperatureService(cities[i]);
report.push(`The temperature in ${cities[i]} is ${temperature} degrees`);
}
return report;
}

function temperatureService() {
let temparatureMap = {
'London': 10,
'Paris': 12,
'Barcelona': 17,
'Dubai' 27,
'Mumbai': 29,
'São Paulo': 23
'Lagos': 33


return temparatureMap[city];
function temperatureService(city) {
let temparatureMap = {
London: 10,
Paris: 12,
Barcelona: 17,
Dubai: 27,
Mumbai: 29,
"São Paulo": 23,
Lagos: 33,
};
return temparatureMap[city];
}

let report = getTemperatureReport(["London", "Paris", "São Paulo"]);
Expand Down