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

Почему появляются запятые после отработки цикла?

<header className="header">
	
		<nav className="navigation">
			${
				Array.from(data.anchor).map((value) => `<a href=${value.href}>${value.value}</a>`)
				}
		</nav>
</header>


Здравствуйте. Данный цикл пробегается по объекту, подставляет key.value и создает элемент в dom дереве. Но между этими элементами так же создаются запятые формата ",". Почему и как убрать?
  • Вопрос задан
  • 259 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
Потому что при преобразовании массива в строку, согласно спецификации, используется метод join. Который по умолчанию в качестве разделителя (опять же, согласно спецификации) использует запятую.

"Как убрать" - очевидно, вызывать join самостоятельно, указывая пустую строку:

Array.from(data.anchor, n => `<a href="${n.href}">${n.value}</a>`).join('')

Или, есть вариант вместо join объединять строки с помощью concat:

''.concat(...[...data.anchor].map(n => `<a href="${n.href}">${n.value}</a>`))

Ещё можно (но не нужно) использовать оператор +:

Array.prototype.reduce.call(
  data.anchor,
  (acc, n) => acc + `<a href="${n.href}">${n.value}</a>`,
  ''
)
Ответ написан
Комментировать
Wondermarin
@Wondermarin
<header className="header">
    <nav className="navigation">
      ${
        Array.from(data.anchor).map((value) => `<a href=${value.href}>${value.value}</a>`).join("\n")
        }
    </nav>
</header>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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