@offsiderst

Как получить % от чисел в массиве?

в массиве объектов
sum- общая сумма всех number

https://jsfiddle.net/n84g9L3d/
  • Вопрос задан
  • 100 просмотров
Решения вопроса 1
Tim-A-2020
@Tim-A-2020
Возможно есть и по лучше решения. Если будет несколько sum в массиве объектов? Конкретно под эту задачу решение:
var info = [{
  desc: 'elem',
  number: 10,
}, {
  desc: 'elem2',
  number: 20,
}, {
  sum: 200,
}];

var sum = info.filter(i => i.sum).shift().sum;
var res = info.filter(i => i.number).map(m => (m.number / sum) * 100);



console.log(res);// [5, 10]
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Krasnodar_etc
@Krasnodar_etc
fundraiseup
var info = [{
  desc: 'elem',
  number: 10,
}, {
  desc: 'elem2',
  number: 20,
}, {
  sum: 200,
}];

var sum = info.find(item => item.sum).sum;
info.forEach(item => {
    if (item.number) {
        item.percentvalue = (item.number / sum) * 100;
    }
};
Ответ написан
Комментировать
@Karpion
Я вообще не понял задачи. Слова понятны, а фразы - нет.

Приведите пример массива и ответ для этого массива.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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