Как в jquery просуммировать значения массива с одинаковыми датами
Прошу помочь с получением данных из массива.
Есть массив, к примеру: Дата, значение1, значение2, Значение3, Значение4 2021-10-21, 1, 1, 1, 1 2021-10-21, 1, 1, 1, 1 2021-10-22, 1, 1, 1, 1 2021-10-22, 1, 1, 1, 1 2021-10-23, 1, 1, 1, 1 Я хочу пройтись циклом по этому массиву выбрать все значения с одинаковыми датами и просуммировать их и вывести полученный результат в HTML. По итогу должно получиться 2021-10-21, 2, 2, 2, 2 2021-10-22, 2, 2, 2, 2 2021-10-23, 1, 1, 1, 1 Сейчас я получаю сумму всех значений из БД кодом: $.each(массив, function(index,value) { for (var i = 0; i < value["active"].length; i++) { var Дата = value["Дата"]; var Значение1 += value["Значение1"]; var Значение2 += value["Значение2"]; var Значение3 += value["Значение3"]; var Значение4 += value["Значение3"]; } $(".text").append( '<td>'+Дата+'</td>'+ '<td>'+Значение1+'</td>'+ '<td>'+Значение2+'</td>'+ '<td>'+Значение3+'</td>'+ '<td>'+Значение4+'</td>' ); } Но это выводит каждую дату отдельно и не правильно суммирует значения у строк. |
Цитата:
|
Цитата:
Ключом "строки" там будет твоя дата в строковом представлении. А значением ключа будет массив "колонок". |
Цитата:
Не очень понимаю, что должно получиться Спасибо. |
Цитата:
|
Цитата:
Как вариант const a = [ ['2021-10-21', 1, 1, 1, 1], ['2021-10-21', 1, 1, 1, 1], ['2021-10-22', 1, 1, 1, 1], ['2021-10-22', 1, 1, 1, 1], ['2021-10-23', 1, 1, 1, 1] ] const rs ={} a.forEach(el => { const dt = el[0] if (rs[dt]) { rs[dt] = rs[dt].map((e, i) => e + el[i + 1]) } else { rs[dt] = el.slice(1) } }) const tt = [] for (el in rs) { const txt = el + ', ' + rs[el].toString() tt.push(txt) } alert(tt.join('\n')) |
Цитата:
var массив = JSON.parse(data) //По итогу массив получается если в консоль вывести: 0: "" 1: {id: "1", id2: "1", date: "2021-10-18", значение1: "1", "значение2": "1", "значение3": "1", "значение4": "1"} 2: {id: "2", id2: "1", date: "2021-10-18", значение1: "1", "значение2": "1", "значение3": "1", "значение4": "1"} 3: {id: "3", id2: "1", date: "2021-10-19", значение1: "1", "значение2": "1", "значение3": "1", "значение4": "1"} |
Цитата:
Это объект из объектов. Некоторые ключи вообще пустая строка 0: "" |
Цитата:
|
Цитата:
Попробовал применить ваш способ, не получилось. Похоже что из разного вида массива/объекта из объектов |
Часовой пояс GMT +3, время: 21:53. |