Я изучаю программу, которая делает календарь. При регистрации чисел в формате ГГГГ / ММ / ДД это должно произойти:
console.log(talkingCalendar("2004/11/01")); => November 1st, 2004
console.log(talkingCalendar("2007/11/11")); => November 11th, 2011
console.log(talkingCalendar("1987/08/24")); => August 24th, 1987
Это то, что я изучаю:
function tensFn(day) {
var output = 0;
if (day.length > 1) {
output = day[0];
}
return output;
}
function getOrdinal(day) {
var ones = day.toString().split('').pop();
ones = parseInt(ones);
var tens = parseInt(tensFn(day), 10);
var ordinate = '';
if (tens == 0 || tens == 2) {
switch (ones) {
case 1:
ordinate = 'st';
break;
case 2:
ordinate = 'nd';
break;
case 3:
ordinate = 'rd';
break;
case 4: case 5: case 6: case 7: case 8: case 9:
ordinate = 'th';
break;
}
}
if (tens == 1) {
switch (ones) {
case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9:
ordinate = 'th';
}
}
return ordinate;
}
Это та часть, которую я не до конца понимаю:
function getOrdinal(day) {
var ones = day.toString().split('').pop();
ones = parseInt(ones);
var tens = parseInt(tensFn(day), 10);
var ordinate = '';
Что автор делает с переменными, зачем преобразовывать его в строку, разбивать, а затем извлекать перед анализом?