Задать вопрос
@newked

Как зациклить присвоение цветов в массив объектов?

У меня есть вот такой простенький код:
<script>
        var colors = ["#ccc","#333","#666"];
        var data = [
            { name: "Семен" },
            { name: "Роман" },
            { name: "Николай" },
            { name: "Аркадий" },
            { name: "Жорж" }
        ]
        var result = data.map((x,i)=>{return {...x, color: colors[i]}})
    </script>


После того как код отработал в result запишется это:
[
    { "name": "Семен", "color": "#ccc" },
    { "name": "Роман", "color": "#333" },
    { "name": "Николай", "color": "#666" },
    { "name": "Аркадий", "color": undefined },
    { "name": "Жорж", "color": undefined }
]

А надо чтобы записалось это:
[
    { "name": "Семен", "color": "#ccc" },
    { "name": "Роман", "color": "#333" },
    { "name": "Николай", "color": "#666" },
    { "name": "Аркадий", "color": "#ccc" },
    { "name": "Жорж", "color": "#333"  }
]


Ну то есть надо зациклить присвоение цветов.
  • Вопрос задан
  • 103 просмотра
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • ProductStar
    Javascript: продвинутый уровень
    1 месяц
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
Решения вопроса 1
@newked Автор вопроса
Всем спасибо, ответ найден:
<script>
        var colors = ["#ccc","#333","#666"];
        var data = [
            { name: "Семен" },
            { name: "Роман" },
            { name: "Николай" },
            { name: "Аркадий" },
            { name: "Жорж" }
        ]
        var result = data.map((x,i)=>{return {...x, color: colors[i % colors.length]}})
    </script>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы