LenovoId
@LenovoId
svg, css,js

Как сложить цифры?

Имеются SVG в которых есть viewBox.
Необходимо сложить эти цифры так, чтобы результат был таким 0 0 97 54.
Для этого я перебрал все svg и получил все viewBox так:

let svg = document.querySelectorAll("svg");
svg.forEach(function (el){
  let viewbox = el.getAttribute("viewBox");
  console.log(viewbox)
})

Получил вот это:

"0 0 33 18"
"0 0 33 9"
"0 0 31 27"


Для сложения использую

viewbox.reduce(function (a,b){return a+b;})
Но выходит ошибка viewbox.reduce is not a function.

Как можно сложить эти цифры, чтобы получить такой результат?

https://codepen.io/topicstarter/pen/MWaBOvB
  • Вопрос задан
  • 98 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const viewBox = Array
  .from(document.querySelectorAll('svg'), n => n.getAttribute('viewBox').split(' '))
  .reduce((acc, n) => (n.forEach((m, i) => (acc[i] = (acc[i] ?? 0) + +m)), acc), [])
  .join(' ');
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
viewbox.split(' ').reduce(function (a,b){return a+b;})
Ответ написан
Ваш ответ на вопрос

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

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