diff --git a/5_1.js b/5_1.js new file mode 100644 index 0000000..1f0cddc --- /dev/null +++ b/5_1.js @@ -0,0 +1,42 @@ +/* const startDateStr = '02 Aug 1985'; +const endDateStr = '03 Aug 1985'; */ + +const startDateStr = '31 Jan 2022'; +const endDateStr = '03 Feb 2021'; +function dateDiff(startDateStr = '1 Jan 2022', endDateStr = '1 Jan 2023', unit = 'seconds') { + const startDate = new Date(startDateStr); + const endDate = new Date(endDateStr); + const result = Math.abs(endDate - startDate); + const unitDivisor = { + 'seconds': result / 1000, + 'minutes': result / 60000, + 'hours': result / (1000 * 60 * 60), + 'days': result / (1000 * 60 * 60 * 24) + + + + } + + // switch (unit) { + // case 'seconds' : + // result = result / 1000; + // break; + // case "minutes" : + // result = result / 60000; + // break; + // case "hours" : + // result = result / (1000 * 60 * 60); + // break; + // case "days" : + // result = result / (1000 * 60 * 60 * 24); + // break; + // } + console.log(unitDivisor[unit]); +} + +dateDiff(endDateStr, startDateStr, 'days'); + +console.log(result); + + + diff --git a/5_2.js b/5_2.js new file mode 100644 index 0000000..391ad1e --- /dev/null +++ b/5_2.js @@ -0,0 +1,18 @@ +function optimizer(data) { + const result = {}; +for (const [key, value] of Object.entries(data)) { + result[key.toLowerCase()] = parseFloat(value).toFixed(2); + +} + + return result; +}; + +const priceData = { + Apples: '23.4', + BANANAS: '48', + oRAngGEs: '48.7584', +}; + +let updatedPriceData = optimizer(priceData); +console.log(updatedPriceData) // {apples: '23.40', bananas: '48.00', oranges: '48.76'} \ No newline at end of file diff --git a/5_3.js b/5_3.js new file mode 100644 index 0000000..a5e4f1e --- /dev/null +++ b/5_3.js @@ -0,0 +1,24 @@ +function recursiveOddSumTo(number) { + if (number == 1) + return 1; + if (number % 2 == 1) + return (recursiveOddSumTo(number - 1) + number); + + return (recursiveOddSumTo(number - 1)) +}; +console.log(recursiveOddSumTo(1)) // 1 +console.log(recursiveOddSumTo(10)) // 25 + + +function iterativeOddSumTo(number) { + let sum = 0; + + for (i = 1; i <= number; i += 2) { + sum = sum + i; + } + + return (sum); +} + +console.log(iterativeOddSumTo(1)) // 1 +console.log(iterativeOddSumTo(10)) // 25 \ No newline at end of file