React JS : Группировка элементов объекта

123
04 января 2020, 23:30

Есть объект data. Содержание объекта

data: {
 {
  type: 'credit',
  dept: 5000
 },
 {
  type: 'card',
  dept: 10000
 },
 {
  type: 'credit',
  dept: 2000
 },
 {
  type: 'credit',
  dept: 1000
 }
}

Нужно на React JS написать алгоритм, который сгруппирует все элементы объекта и посчитает их сумму. На выходе должно получиться так

data: {
 {
  type: 'credit',
  dept: 8000
 },
 {
  type: 'card',
  dept: 10000
 }
}

Можно реализовать на lodash.

Answer 1

Есть объект data.

Нет объекта.

var data = [ 
 { 
  type: 'credit', 
  dept: 5000 
 }, 
 { 
  type: 'card', 
  dept: 10000 
 }, 
 { 
  type: 'credit', 
  dept: 2000 
 }, 
 { 
  type: 'credit', 
  dept: 1000 
 } 
]; 
var data1 = data.reduce((res, el) => { 
  var el1 = res.find(i => i.type == el.type); 
  if (!el1) { 
    el1 = { type: el.type, dept: 0 }; 
    res.push(el1); 
  } 
  el1.dept += el.dept; 
  return res; 
}, []); 
console.log(data1);

READ ALSO
Babel преобразовывает не весь код в ES5

Babel преобразовывает не весь код в ES5

Настроен бейбел, все работает отлично, но на некоторых браузерах, не работает, так как несколько кусков код не траспайлятся, нашел один кусок...

105
Воспроизведение звука в старом IE на ПДА

Воспроизведение звука в старом IE на ПДА

Вводная: используются ПДА с системой Win Embedded 700, а на них работают через web-приложение в локалке на мобильном IE6

118
SVG полукруг разбить на 3 равные части

SVG полукруг разбить на 3 равные части

У меня приложение на Vuejs и мне нужно прогресс-бар создать

116
js проверка на куки

js проверка на куки

Хотел проверить с помощью js наличие куки на страничкепри правильном вводе данных в логине и пароле - куки создаются без проблем, но скрипт...

100