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
16 changes: 15 additions & 1 deletion task-1/book.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
function isBookApplicable(searchString) {
// Your code here
const bookName = "The fundamentals of JavaScript".toLowerCase();
const pureString = searchString.trim().toLowerCase();

if(!pureString) return false;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice that you're checking this!


return bookName.includes(pureString);
}

// console.log(isBookApplicable("javascript"));
// console.log(isBookApplicable("j2vascript "));
// console.log(isBookApplicable("python"));
// console.log(isBookApplicable("JavaScript"));
// console.log(isBookApplicable("JAVASCRIPT"));
// console.log(isBookApplicable("fundamentals"));
// console.log(isBookApplicable("fundamentals of1 JavaScript"));
// console.log(isBookApplicable(" "));
26 changes: 25 additions & 1 deletion task-2/parse-date.js
Original file line number Diff line number Diff line change
@@ -1 +1,25 @@
// Your code here
function parseDateString(dateString) {
const indexOfSpace = dateString.indexOf(" ");
const format = dateString.substring(0, indexOfSpace);
const date = dateString.substring(indexOfSpace);

const [day, month, year] = date.split("-");

if (isNaN(day) || isNaN(month) || isNaN(year)) {
return "Invalid date!";
}

if (format === "DMY") {
return { day, month, year };
} else if (format === "MDY") {
return { day: month, month: day, year };
} else {
return "Invalid format!";
}
}

// console.log(parseDateString("MDY 10-21-1983"));
// console.log(parseDateString("DMY 21-10-1983"));
// console.log(parseDateString("DM 21-10-1983"));
// console.log(parseDateString(" "));
// console.log(parseDateString("DMY 21fsdfksdv;jf-10-1983"));
11 changes: 11 additions & 0 deletions task-3/date.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
export const convertHoursToMinutes = hours => hours * 60;

export const convertMinutesToHours = minutes => minutes / 60;

export const convertDaysToHours = days => days * 24;

export const convertHoursToDays = hours => hours / 24;

export const convertMinutesToSeconds = minutes => minutes * 60;

export const convertSecondsToMinutes = seconds => seconds / 60;
Comment on lines +1 to +11

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice use of arrow functions 👍

130 changes: 58 additions & 72 deletions task-4/cleanup.js
Original file line number Diff line number Diff line change
@@ -1,80 +1,66 @@
// Temperature conversion and weather report for City 1
let cityName1 = "Amsterdam";
let tempCelsius1 = 22;
let tempFahrenheit1 = (tempCelsius1 * 9 / 5) + 32;
let tempKelvin1 = tempCelsius1 + 273.15;
console.log("Weather Report for " + cityName1);
console.log("Temperature: " + tempCelsius1 + "°C");
console.log("Temperature: " + tempFahrenheit1 + "°F");
console.log("Temperature: " + tempKelvin1 + "K");
if (tempCelsius1 < 0) {
console.log("Status: Freezing");
} else if (tempCelsius1 >= 0 && tempCelsius1 < 10) {
console.log("Status: Cold");
} else if (tempCelsius1 >= 10 && tempCelsius1 < 20) {
console.log("Status: Mild");
} else if (tempCelsius1 >= 20 && tempCelsius1 < 30) {
console.log("Status: Warm");
} else {
console.log("Status: Hot");
function fullWeatherReport(city, celsius, speed) {
const reportWeather = weatherReport(city, celsius);
const reportWind = windChillCalculation(city, celsius, speed);

return `${reportWeather}\n${reportWind}`;
}

function weatherReport(city, celsius) {
const fahrenheit = toFahrenheit(celsius);
const kelvin = toKelvin(celsius);
const status = weatherStatus(celsius);

return `Weather Report for ${city} \nTemperature: ${celsius}°C \nTemperature: ${fahrenheit}°F \nTemperature: ${kelvin}K \n${status} \n---`;
}

function toFahrenheit(celsius) {
return (celsius * 9) / 5 + 32;
}
console.log("---");

// Temperature conversion and weather report for City 2
let cityName2 = "Berlin";
let tempCelsius2 = 15;
let tempFahrenheit2 = (tempCelsius2 * 9 / 5) + 32;
let tempKelvin2 = tempCelsius2 + 273.15;
console.log("Weather Report for " + cityName2);
console.log("Temperature: " + tempCelsius2 + "°C");
console.log("Temperature: " + tempFahrenheit2 + "°F");
console.log("Temperature: " + tempKelvin2 + "K");
if (tempCelsius2 < 0) {
console.log("Status: Freezing");
} else if (tempCelsius2 >= 0 && tempCelsius2 < 10) {
console.log("Status: Cold");
} else if (tempCelsius2 >= 10 && tempCelsius2 < 20) {
console.log("Status: Mild");
} else if (tempCelsius2 >= 20 && tempCelsius2 < 30) {
console.log("Status: Warm");
} else {
console.log("Status: Hot");
function toKelvin(celsius) {
return celsius + 273.15;
}
console.log("---");

// Temperature conversion and weather report for City 3
let cityName3 = "Copenhagen";
let tempCelsius3 = -5;
let tempFahrenheit3 = (tempCelsius3 * 9 / 5) + 32;
let tempKelvin3 = tempCelsius3 + 273.15;
console.log("Weather Report for " + cityName3);
console.log("Temperature: " + tempCelsius3 + "°C");
console.log("Temperature: " + tempFahrenheit3 + "°F");
console.log("Temperature: " + tempKelvin3 + "K");
if (tempCelsius3 < 0) {
console.log("Status: Freezing");
} else if (tempCelsius3 >= 0 && tempCelsius3 < 10) {
console.log("Status: Cold");
} else if (tempCelsius3 >= 10 && tempCelsius3 < 20) {
console.log("Status: Mild");
} else if (tempCelsius3 >= 20 && tempCelsius3 < 30) {
console.log("Status: Warm");
} else {
console.log("Status: Hot");
function weatherStatus(celsius) {
if (celsius < 0) {
return "Status: Freezing";
} else if (celsius >= 0 && celsius < 10) {
return "Status: Cold";
} else if (celsius >= 10 && celsius < 20) {
return "Status: Mild";
} else if (celsius >= 20 && celsius < 30) {
return "Status: Warm";
} else {
return "Status: Hot";
}
}
console.log("---");

// Wind chill calculation for City 1
let windSpeed1 = 15;
let windChill1 = 13.12 + 0.6215 * tempCelsius1 - 11.37 * Math.pow(windSpeed1, 0.16) + 0.3965 * tempCelsius1 * Math.pow(windSpeed1, 0.16);
console.log("Wind chill in " + cityName1 + ": " + windChill1.toFixed(2) + "°C");
function windChillCalculation(city, celsius, speed) {
const windChill = (
13.12 +
0.6215 * celsius -
11.37 * Math.pow(speed, 0.16) +
0.3965 * celsius * Math.pow(speed, 0.16)
).toFixed(2);

return `Wind chill in ${city}: ${windChill}°C`;
}

// console.log(weatherReport("Amsterdam", 22));
// console.log(windChillCalculation("Amsterdam", 22, 15));
// console.log(weatherReport("Berlin", 15));
// console.log(windChillCalculation("Berlin", 15, 20));
// console.log(weatherReport("Copenhagen", -5));
// console.log(windChillCalculation("Copenhagen", -5, 25));

// console.log(fullWeatherReport("Amsterdam", 22, 15));
// console.log(fullWeatherReport("Berlin", 15, 20));
// console.log(fullWeatherReport("Copenhagen", -5, 25));

// Wind chill calculation for City 2
let windSpeed2 = 20;
let windChill2 = 13.12 + 0.6215 * tempCelsius2 - 11.37 * Math.pow(windSpeed2, 0.16) + 0.3965 * tempCelsius2 * Math.pow(windSpeed2, 0.16);
console.log("Wind chill in " + cityName2 + ": " + windChill2.toFixed(2) + "°C");
// console.log(weatherReport("Odesa", -8));
// console.log(windChillCalculation("Odesa", -8, 13));
// console.log(weatherReport("Antwerpen", 3));
// console.log(windChillCalculation("Antwerpen", 3, 36));

// Wind chill calculation for City 3
let windSpeed3 = 25;
let windChill3 = 13.12 + 0.6215 * tempCelsius3 - 11.37 * Math.pow(windSpeed3, 0.16) + 0.3965 * tempCelsius3 * Math.pow(windSpeed3, 0.16);
console.log("Wind chill in " + cityName3 + ": " + windChill3.toFixed(2) + "°C");
// console.log(fullWeatherReport("Odesa", -8, 13));
// console.log(fullWeatherReport("Antwerpen", 3, 36));