# how to push an array inside an array with nested nested loop

With the following code, I want to push an array inside the `weeks` array if `i` is `<=` to the value of each element in that array.

``````const weeks = [];
const daysInWeek = [];
numberOfDays = 35;

for (let i = 1; i <= numberOfDays; i ++) {
if (i % 7 === 0){
weeks.push(i)
}
// output [7, 14, 21, 28, 35]
for (logic here...) {
daysInWeek.push([?])
}
}
``````

I would like `daysInWeek` to look something like this :

``````[[1, 2, 3, 4, 5, 6, 7], [8, 9, 10, 11, 12, 13, 14], [15,......], ...]
``````

It is the first time I work with nested loops and I can’t really grasp the idea and therefor I am unsure how to use the second loop.

Any help would be greatly appreciated.

### >Solution :

Create a new array inside of the `if (i % 7 === 0){` statement. That array is going to be created for every week and is going to hold your days.

Now start the second loop by subtracting `6` from the current value of `i`. `i` will always be a multitude of 7. So by subtracting 6 you get the first day in that week. Store that result in `j`.

Then for the evaluation part of the loop, check if `j` is equal or lower than `i`, we never want to go higher than the last day in the current week. Also check if `j` is equal or lower than `numberOfDays`. You don’t want to add more days than you indicated.

Add each day to the days array. Then after the loop add the days array to `daysInWeek`. Now you got this nested array structure.

``````const weeks = [];
const daysInWeek = [];
numberOfDays = 35;

for (let i = 1; i <= numberOfDays; i ++) {
if (i % 7 === 0){
weeks.push(i)

const days = [];

for (let j = i - 6; j <= i && j <= numberOfDays; j++) {
days.push(j);
}

daysInWeek.push(days);
}
}

console.log(daysInWeek);``````