Как в 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, время: 01:43. |