Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Массив и цикл (https://javascript.ru/forum/misc/85468-massiv-i-cikl.html)

ureech 14.09.2023 11:21

Массив и цикл
 
Всем привет. Подскажите решение.

10 20 30 40 50 60
11 21 31 41 51 61
12 22 32 42 52 62
13 23 33 43 53 63
...


Как должен выглядеть цикл, что бы получить все ряды до 4-го столбца? И не просто до столбца №4, а именно до значений столбца

ksa 14.09.2023 12:33

Цитата:

Сообщение от ureech
Как должен выглядеть цикл, что бы получить все ряды до 4-го столбца?

Все зависит от того, как те данные у тебя хранятся... Пока это просто какой-то текст.

voraa 14.09.2023 13:14

Как хранятся значения?
Куда и в каком виде получить?
Цитата:

Сообщение от ureech
И не просто до столбца №4, а именно до значений столбца

Непонятно.

Может так
const sarr = [
	[10, 20, 30, 40, 50, 60],
	[11, 21, 31, 41, 51, 61],
	[12, 22, 32, 42, 52, 62],
	[13, 23, 33, 43, 53, 63]
];

const res = sarr.map(arr => arr.slice(0,5));
console.log (res);

ureech 14.09.2023 13:23

Так и думал. Но была надежда)))
Никак не хранятся. Это даты, которые формируются на лету и записываются в соответствующие ячейки с одинаковым классом. Например я получаю все ячейки

var no_event = document.querySelectorAll('.no_event');


Каждую ячейку строки мне нужно сверить с датой соответствующего времени

for (var e = 0; e < 24; e++) {
	
var current_date = new Date().setHours(e,0,0,0)
// тут дата+00:00, дата+01:00

for (var i = 0; e < 7; i++){

var dataset = no_event[i].dataset.dayhour // Тут тоже дата1+ 00:00,дата2+00:00... дата7+00:00

}


}

Вот таким циклом я могу проверить только первый ряд. То есть для e=0

При е=1 нужно current_date проверять c no_event[i].dataset.dayhour в которых дата1+01:00...

ureech 14.09.2023 13:26

По сути,это календарь для событий. Мне нужно отметить ячейки до текущей даты.
Наглядно можно тут глянуть

ksa 14.09.2023 14:28

Цитата:

Сообщение от ureech
записываются в соответствующие ячейки с одинаковым классом

Вот и приведи пример такого...

Цитата:

Сообщение от ureech
Наглядно можно тут глянуть

Покажи хтмл прямо тут.

voraa 14.09.2023 14:41

Цитата:

Сообщение от ureech
Мне нужно отметить ячейки до текущей даты.

Что значит отметить?
Просто пробежаться по всем ячейкам td.no_event и что то сделать с ячейками (отметить) у которых dataset.dayhour меньше текущей даты и времени

Что то типа такого
const no_event = document.querySelectorAll('.no_event');
const current = new Date();
no_event.forEach(cell => {
	if (+cell.dataset.dayhour < current) {/* как то отмечаем эту ячейку */}
})


или const current = new Date().setMinutes(0,0,0); если текущий час не надо отмечать.

ureech 14.09.2023 15:17

voraa,
Да, что что то типа такого,это понятно. Просто у меня заклинило. Так как при переходе на другую неделю данные становятся другими. Плюс при возврате это тоже уже не совсем те же данные. Поэтому вот и затупил.
Решил вопрос для текущей недели, а для других просто удаляю изменения(добавления класса) Единственное при возврате от следующей недели к текущей пришлось делать проверку на текущую неделю. Сори за тавтологию)
Всем спасибо.


Часовой пояс GMT +3, время: 16:11.