diff --git a/task-1/book.js b/task-1/book.js index 8b49ecc..f9e48ae 100644 --- a/task-1/book.js +++ b/task-1/book.js @@ -1,3 +1,11 @@ function isBookApplicable(searchString) { - // Your code here + const title = "The fundamentals of JavaScript"; + const editedTitle = title.toLowerCase(); + const editedSearchString = searchString.trim().toLowerCase(); + return editedTitle.includes(editedSearchString); } +console.log(isBookApplicable("javascript")); // Output: true +console.log(isBookApplicable("javascript ")); // Output: true +console.log(isBookApplicable("python")); // Output: false +console.log(isBookApplicable("JavaScript")); // Output: true +console.log(isBookApplicable("JAVASCRIPT")); // Output: true diff --git a/task-2/parse-date.js b/task-2/parse-date.js index 877a3aa..04f4e95 100644 --- a/task-2/parse-date.js +++ b/task-2/parse-date.js @@ -1 +1,25 @@ -// Your code here +const getDay = (format, first, second) => { + return format === "DMY" ? first : second; +}; + +const getMonth = (format, first, second) => { + return format === "DMY" ? second : first; +}; + +const getYear = (year) => year; + +const parseDateString = (dateString) => { + const [format, date] = dateString.split(" "); + const [first, second, year] = date.split("-").map((el) => +el); + + return { + day: getDay(format, first, second), + month: getMonth(format, first, second), + year: getYear(year), + }; +}; + +console.log(parseDateString("MDY 10-21-1983")); // Output: { day: 21, month: 10, year: 1983 } +console.log(parseDateString("DMY 21-10-1983")); // Output: { day: 21, month: 10, year: 1983 } +console.log(parseDateString("MDY 03-15-2024")); // Output: { day: 15, month: 3, year: 2024 } +console.log(parseDateString("DMY 15-03-2024")); // Output: { day: 15, month: 3, year: 2024 } diff --git a/task-3/date.js b/task-3/date.js new file mode 100644 index 0000000..ee0242c --- /dev/null +++ b/task-3/date.js @@ -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 \ No newline at end of file diff --git a/task-4/cleanup.js b/task-4/cleanup.js index 207523a..b06eebd 100644 --- a/task-4/cleanup.js +++ b/task-4/cleanup.js @@ -1,80 +1,55 @@ -// 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"); -} -console.log("---"); +const getReportName = (cityName) => { + return `Weather Report for ${cityName}`; +}; -// 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"); -} -console.log("---"); +const getTempCelsius = (tempCelsius) => { + return `Temperature: ${tempCelsius} °C`; +}; -// 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"); -} -console.log("---"); +const getTempFahrenheit = (tempCelsius) => { + const tempFahrenheit = (tempCelsius * 9) / 5 + 32; + return `Temperature: ${tempFahrenheit} °F`; +}; -// 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"); +const getTempKelvin = (tempCelsius) => { + const tempKelvin = tempCelsius + 273.15; + return `Temperature: ${tempKelvin} K`; +}; -// 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"); +const getTempStatus = (tempCelsius) => { + if (tempCelsius < 0) { + return "Status: Freezing"; + } else if (tempCelsius >= 0 && tempCelsius < 10) { + return "Status: Cold"; + } else if (tempCelsius >= 10 && tempCelsius < 20) { + return "Status: Mild"; + } else if (tempCelsius >= 20 && tempCelsius < 30) { + return "Status: Warm"; + } else { + return "Status: Hot"; + } +}; -// 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"); \ No newline at end of file +const getWindChill = (tempCelsius, windSpeed) => { + return ( + 13.12 + 0.6215 * tempCelsius - 11.37 * Math.pow(windSpeed, 0.16) + 0.3965 * tempCelsius * Math.pow(windSpeed, 0.16) + ); +}; + +const getWindReport = (cityName, tempCelsius, windSpeed) => { + return `Wind chill in ${cityName}: ${getWindChill(tempCelsius, windSpeed).toFixed(2)} °C`; +}; +const weatherReport = (cityName, tempCelsius, windSpeed) => { + return `${getReportName(cityName)} +${getTempCelsius(tempCelsius)} +${getTempFahrenheit(tempCelsius)} +${getTempKelvin(tempCelsius)} +${getTempStatus(tempCelsius)} +${getWindReport(cityName, tempCelsius, windSpeed)} +`; +}; +console.log(weatherReport("Amsterdam", 22, 15)); +console.log(weatherReport("Berlin", 15, 20)); +console.log(weatherReport("Copenhagen", -5, 25)); +console.log(weatherReport("Montevideo", 18, 20)); +console.log(weatherReport("Bangkok", 37, 1)); \ No newline at end of file