Сообщение от ureech
|
И что?
|
Признаться, я даже не знаю, как ответить на ваш великолепный вопрос.
Сообщение от ureech
|
Я вставляю данные из массива в элементы,собранные по блокам(слотам)
|
Ну, т.е. вы данные пхаете в html, только для того, чтобы их снова из них считать?
Действительно «и что».
Попробуйте так:
(savedJson => {
let data = null;
try {
data = savedJson ? JSON.parse(savedJson) : null;
} catch (e) {
console.error(e);
}
if (!data) {
return;
}
const slotToMaxSumMap = {};
data.forEach((item, i) => {
const index = {
index: i,
sum: +(item.summ || 0),
slot: item.slot,
$item: item,
};
if (
!(index.slot in slotToMaxSumMap) ||
slotToMaxSumMap[index.slot].sum <= index.sum
) {
slotToMaxSumMap[index.slot] = index;
}
});
const dataOnlyWithMaxSum = Object.values(slotToMaxSumMap).map(item => item.$item);
dataOnlyWithMaxSum.forEach(item => {
const node = document.querySelector(`[data-slot="${item.slot}"].slot:not(.less-today)`);
if (!node) {
return;
}
node.innerHTML = item.summ;
});
})(localStorage.getItem('colorRow'));
Крутой сервис:
https://beautifier.io/