И так же matrix:
let matrix = new Array(5).fill(Array(12));
Я хочу заполнить элементы matrix с объектами из res.data:
res.data.forEach((data, index) => {
matrix[data.period.day][data.period.time] = data;
})
То есть например чтобы было matrix[1][2] = res.data у которого period.day = 1 и period.time = 2
Но получается совсем не то что хочу, получаю например
matrix[0][0] = объект с period.day = 3 и period.time = 0
Через reduce можешь прогнать
можешь плз текстом скинуть? не вижу некоторые символы
{ const data = [ {period: {day: 0, time: 0}}, {period: {day: 0, time: 1}}, {period: {day: 0, time: 2}}, {period: {day: 0, time: 3}}, {period: {day: 1, time: 0}}, {period: {day: 1, time: 1}}, {period: {day: 1, time: 2}}, {period: {day: 1, time: 3}}, {period: {day: 2, time: 0}}, {period: {day: 2, time: 1}}, {period: {day: 2, time: 2}}, {period: {day: 2, time: 3}}, {period: {day: 3, time: 0}}, {period: {day: 3, time: 1}}, {period: {day: 3, time: 2}}, {period: {day: 3, time: 3}}, ] data.map(x => x.period).reduce((arr, {day, time}) => { if(!arr[day]) arr[day] = [] arr[day][time] = ({period: {day, time}}) return arr }, []) }
Обсуждают сегодня