narsss
@narsss
Ничего не умею, только спрашиваю

Как превратить число 30032020 в дату 30.03.2020 с помощью template literal?

Знаю,что вопросы слишком странные,но я недавно начал изучать JS, а задачи решать нужно
  • Вопрос задан
  • 78 просмотров
Пригласить эксперта
Ответы на вопрос 2
sergiks
@sergiks Куратор тега JavaScript
♬♬
(s => `${s.substr(0,2)}.${s.substr(2,2)}.${s.substr(4)}`)('30032020')


Или так:
const format = (_, v) => {
  const s = v.toString();
  return `${s.substr(0,2)}.${s.substr(2,2)}.${s.substr(4)}`;
}

format`${30032020}`

а по-простому
const num = 30032020; // число
const str = num.toString().padStart(8, '0'); // строка длиной 8 символов
const result = `${str.substr(0,2)}.${str.substr(2,2)}.${str.substr(4)}`; // "30.03.2020"

Было бы здорово, если вы разобрались с отличиями вариантов: как работает и в чём плюсы и минусы каждого.
Ответ написан
Комментировать
@historydev Куратор тега JavaScript
Острая аллергия на анимешников
Сделайте из строки массив и слушайте каждый элемент:

const str = '30032020';

function getDate(data) {

   return data.split('').map((el, i) => i === 1 || i === 3 ? el = `${el}.` : el).join('');
   
}

alert(getDate(str));
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы