JSFiddle - React, Tailwind, and code Playground
by nomadev
JavaScript
/*
s: integer, starting point of Sam's house location.
t: integer, ending location of Sam's house location.
a: integer, location of the Apple tree.
b: integer, location of the Orange tree.
apples: integer array, distances at which each apple falls from the tree.
oranges: integer array, distances at which each orange falls from the tree.
*/
// Complete the countApplesAndOranges function below.
function timeInWords(h, m) {
const numbers = {
1: 'one',
2: 'two',
3: 'three',
4: 'four',
5: 'five',
6: 'six',
7: 'seven',
8: 'eight',
9: 'nine',
10: 'ten',
11: 'eleven',
12: 'twelve',
13: 'thirteen',
14: 'fourteen',
15: 'fifthteen',
16: 'sixteen',
17: 'seventeen',
18: 'eighteen',
19: 'nineteen',
20: 'twenty',
30: 'thirty',
40: 'fourty',
50: 'fifty',
};
for(let k=21; k < 30; k++) {
numbers[k] = numbers[20] + ' ' + numbers[k - 20];
}
for(let k=31; k < 40; k++) {
numbers[k] = numbers[30] + ' ' + numbers[k - 30];
}
for(let k=41; k < 50; k++) {
numbers[k] = numbers[40] + ' ' + numbers[k - 40];
}
for(let k=51; k < 60; k++) {
numbers[k] = numbers[50] + ' ' + numbers[k - 50];
}
const minTo = ' minute to ';
const minsTo = ' minutes to ';
const minsPast = ' minutes past ';
const minPast = ' minute past ';
const halfPast = 'half past ';
const quarter = 'quarter ';
const oClock = " o' clock";
const nextHrs = h === 12 ? 1 : h + 1;
if(m === 0) {
return numbers[h] + oClock;
}
else if (m > 0 && m < 15 || m > 15 && m <= 29) {
return numbers[m] + (m === 1 ? minPast : minsPast) + numbers[h];
}
else if (m === 15) {
return quarter + 'past ' + numbers[h];
}
else if (m === 30) {
return halfPast + numbers[h];
}
else if (m === 45) {
return quarter + 'to ' + numbers[nextHrs];
}
else if (m > 30 && m <= 59) {
const diff = numbers[60 - m];
return diff + (60 - m === 1 ? minTo : minsTo) + numbers[nextHrs];
...