Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.01.2023, 10:47
Аватар для NeonMan
Кандидат Javascript-наук
Отправить личное сообщение для NeonMan Посмотреть профиль Найти все сообщения от NeonMan
 
Регистрация: 22.07.2018
Сообщений: 123

.map по дате
[
 {
  date: today
 },
 {
  date: tomorrow
 },
 {
  date: '2023-01-30
 },
 {
  date: '2023-01-31'
 },
]


Подскажите, как сделать .map (или другой перебор массива), имея массив с объектами, где в каждом объекте есть ключ date, cоздавая для каждой уникальной даты (по дням) div с датой (прим.
<div>30/01</div>
), но div с датами за сегодня и завтра должны называться today и tomorrow.
Ответить с цитированием
  #2 (permalink)  
Старый 28.01.2023, 11:24
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

.map(({date}) => {
  const match = date.match(/^\d\d\d\d-(\d\d)-(\d\d)$/);
  
  if (match) {
    const [, mm, dd] = match;
    date = `${dd}/${mm}`;
  }
  
  return `<div>${date}</div>`;
})
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 30.01.2023, 16:33
Аватар для NeonMan
Кандидат Javascript-наук
Отправить личное сообщение для NeonMan Посмотреть профиль Найти все сообщения от NeonMan
 
Регистрация: 22.07.2018
Сообщений: 123

Увы, но этот вариант не подходит, нужно создавать контейнер для каждой новой(уникальной ) даты, а не match по конкретной
Ответить с цитированием
  #4 (permalink)  
Старый 30.01.2023, 16:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от NeonMan
нужно создавать контейнер для каждой новой(уникальной ) даты, а не match по конкретной
подожду переводчика ...
Ответить с цитированием
  #5 (permalink)  
Старый 30.01.2023, 17:28
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

Мб так, но на самом деле хз.)
const res = [...new Set(arr.map(({date}) => {
  const match = date.match(/^\d\d\d\d-(\d\d)-(\d\d)$/);
  
  if (match) {
    const [, mm, dd] = match;
    date = `${dd}/${mm}`;
  }
  
  return `<div>${date}</div>`;
}))];
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Контраст даты в сегодняшней дате и дате покупки в MY SQL Jansen Оффтопик 3 03.10.2022 07:15
Вывод информации о дате peski08 Общие вопросы Javascript 0 08.03.2022 00:59
delay в React .map() NeonMan Элементы интерфейса 2 23.04.2019 21:27
Помогите добавить пару часов к дате. AntonMs Общие вопросы Javascript 4 04.09.2015 09:36
Нажатие по дате в календаре срабатывает только со второго клика afr0 Events/DOM/Window 4 31.10.2012 13:39