У меня возникла небольшая проблема при вставке данных объекта в указатель c index в массиве.
Вот мой вывод JSON
let arr = [
{"days":3, "count" : 10 },
{"days":4, "count" : 12 },
{"days":7, "count" : 14 },
{"days":9, "count" : 20 }
]
, я хотел бы получить .
updatedArr = [
{"days":0, "count" : 0 },
{"days":0, "count" : 0 },
{"days":3, "count" : 10 },
{"days":4, "count" : 12 },
{"days":0, "count" : 0 },
{"days":6, "count" : 34 },
]
поэтому в основном я хочу, чтобы данные объекта передавались с указанным c индексом на основе его ключа, называемого days .
Если значение days больше 5, тогда это будет сумма всех значений days в один и pu sh, что в последнем индексе, например, 5-м индексе.
Здесь это код, который я пробовал.
let arr = [{
"days": 3,
"count": 10
},
{
"days": 4,
"count": 12
},
{
"days": 7,
"count": 14
},
{
"days": 9,
"count": 20
}
]
for (let index = 0; index < 6; index++) {
const element = arr[index];
let eachObject = {}
eachObject.count = 0
if (element && element !== undefined && element.days && element.days <= 5) {
eachObject.days = element.days
eachObject.count = element.count
arr.splice((element.days - 1), 0, eachObject)
} else if (element && element !== undefined && element.days > 5) {
eachObject.days = element.days
eachObject.count += Number.parseInt(element.count)
arr.splice(4, 0, eachObject)
} else {
eachObject.days = 0
eachObject.count = 0
arr.push(eachObject)
}
}
Любая помощь будет отличной.
Спасибо.