Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.05.2022, 11:00
Аспирант
Отправить личное сообщение для Judgin Посмотреть профиль Найти все сообщения от Judgin
 
Регистрация: 31.05.2021
Сообщений: 32

Изменить структуру объекта
Имеется объект следующего вида
{А был ли Каротин?: 'https://upload.wikimedia.org/wikipedia/ru/a/ac/%D0…%D0%9A%D0%B0%D1%80%D0%BE%D1%82%D0%B8%D0%BD%3F.jpg', А вы любили когда-нибудь?: 'https://upload.wikimedia.org/wikipedia/ru/d/d8/%D0…D0%B0-%D0%BD%D0%B8%D0%B1%D1%83%D0%B4%D1%8C%3F.jpg', …}


Нужно привести его к такому виду

[{letter: 'A', ['https://upload.wikimedia.org/wikipedia/ru/a/ac/%D0…%D0%9A%D0%B0%D1%80%D0%BE%D1%82%D0%B8%D0%BD%3F.jpg', 'https://upload.wikimedia.org/wikipedia/ru/d/d8/%D0…D0%B0-%D0%BD%D0%B8%D0%B1%D1%83%D0%B4%D1%8C%3F.jpg',...]}]
[{letter: 'Б', ['https://upload.wikimedia.org/wikipedia/ru/4/4e/%D0%91%D0%B0%D0%B1%D0%BD%D0%B8%D0%BA_%D0%BE%D0%B1%D0%BB%D0%BE%D0%B6%D0%BA%D0%B0_%D1%84%D0%B8%D0%BB%D1%8C%D0%BC%D0%B0.jpg', 'https://upload.wikimedia.org/wikipedia/ru/1/15/%D0%91%D0%B0%D0%BA%D0%B5%D0%BD%D0%B1%D0%B0%D1%80%D0%B4%D1%8B%28%D0%BE%D0%B1%D0%BB%D0%BE%D0%B6%D0%BA%D0%B0_DVD%29.jpg',...]}]
...


Т.е в массив идут ссылки относящиеся к фильмам на букву А, в следующий массив идут ссылки относящиеся к фильмам на букву Б и т.д
Ответить с цитированием
  #2 (permalink)  
Старый 13.05.2022, 11:50
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Judgin, структуры, что ты показываешь синтаксически не верны...
Ответить с цитированием
  #3 (permalink)  
Старый 13.05.2022, 12:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Judgin,
let obj = {'А был ли Каротин?': 'https://111.jpg', 'А вы любили когда-нибудь?': 'https://222.jpg', 'Белое солнце пустыни' : 'https://333.jpg'}
  const letterFirstObj = obj => Object.entries(obj).reduce((ob, [[first, ...last], img])=> ((ob[first.toUpperCase()] ??= []).push(img), ob), {});
  console.log(letterFirstObj(obj));
Ответить с цитированием
  #4 (permalink)  
Старый 17.05.2022, 12:45
Аспирант
Отправить личное сообщение для Judgin Посмотреть профиль Найти все сообщения от Judgin
 
Регистрация: 31.05.2021
Сообщений: 32

Сообщение от рони Посмотреть сообщение
Judgin,
let obj = {'А был ли Каротин?': 'https://111.jpg', 'А вы любили когда-нибудь?': 'https://222.jpg', 'Белое солнце пустыни' : 'https://333.jpg'}
  const letterFirstObj = obj => Object.entries(obj).reduce((ob, [[first, ...last], img])=> ((ob[first.toUpperCase()] ??= []).push(img), ob), {});
  console.log(letterFirstObj(obj));
Благодарю! Все работает!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как показать пользовательские функции объекта test? Katy93 Общие вопросы Javascript 1 12.12.2021 06:56
Как преобразовать структуру объекта в массив? darktowerk56c Элементы интерфейса 3 28.10.2019 18:11
Как сделать нужную структуру из объекта freelancerphpcss Общие вопросы Javascript 1 03.09.2016 05:27
JSON. Как в callback функции изменить свойство объекта? master_alf jQuery 10 22.04.2010 17:08
Можно ли получить имя экземпляра объекта внутри самого объекта? Ichigeki Общие вопросы Javascript 9 14.11.2008 19:00