Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   console.log добавить массив (https://javascript.ru/forum/misc/76945-console-log-dobavit-massiv.html)

Besprizornik 03.03.2019 13:11

console.log добавить массив
 
что я делаю не так, часа три пытаюсь разобраться но не получается...

var d = new Date(); var day = ['7','1','2','3','4','5','6'], console.log(day) document.querySelector('#day').options[d.getDay()].

laimas 03.03.2019 13:16

Besprizornik,
а зачем тут массив?

Besprizornik 03.03.2019 13:30

я хочу чтобы в последующем можно было при определенных событиях или условиях можно было присвоить option value="0" selected...

laimas 03.03.2019 13:46

А для чего вы создавали эту тему https://javascript.ru/forum/dom-wind...-new-post.html ?

Ведь в ней у вас день недели, это список с семью опциями, где вторая первый день недели, а последняя последний, а день недели возвращается с воскресенья, то есть это будут значения от 0 до 6. А отметить опцию начиная с дня нашей недели, это значит отметить так:

....options[d.getDay()||7]

Зачем это делать через массив?

Besprizornik 03.03.2019 13:47

я только пытаюсь учиться и что-то понять,
хочу попытаться сделать чтобы воскресенью присвоить 7 порядковый номер

Besprizornik 03.03.2019 14:06

или же надо просто ....options[d.getDay()|8] и добавить ещё один тег option?

laimas 03.03.2019 14:11

Цитата:

Сообщение от Besprizornik
хочу попытаться сделать чтобы воскресенью присвоить 7 порядковый номер

Ну а я вам что показываю? В вашей предыдущей теме все работает, показывает воскресенье, хотя опция в списке имеет индекс равный 7?

Это и обеспечивается простым выражением

N = A || B,

если булево значение А возвращает true, то N будет равно А, иначе В.

Следовательно для всех дней недели возвращенным функцией d.getDay(), для значение от 1 до 6, это значение и будет возвращаться, а для воскресенья равного 0 (булево значение false), будет возвращено 7:

....options[от 1 до 6 или 7 для воскресенья]

вот и все.

laimas 03.03.2019 14:16

Цитата:

Сообщение от Besprizornik
или же надо просто ....options[d.getDay()|8] и добавить ещё один тег option?

Зачем? Зачем вы вообще создали эту тему в отрыве от основной?

У вас список

<select class="day" id="day">
    <option value="">Выберите ...</option>
    <option value="1">Понедельник</option>
    <option value="2">Вторник</option>
    <option value="3">Среда</option>
    <option value="4">Четверг</option>
    <option value="5">Пятница</option>
    <option value="6">Суббота</option>
    <option value="7">Воскресенье</option>
</select>


Значит опции имеют индексы от 0 до 7 - восемь опций. Значит возвращенный день недели и будет выбирать начиная со второй, а 0 воскресенья заменяем на 7, для индекса восьмой опции.

Если требуется список без пустой опции в начале, то нужно ....options[(d.getDay()||7)-1]

И не | а ||

Ознакомится и изучить https://learn.javascript.ru/logical-ops , это не сложно для уяснения.

Besprizornik 03.03.2019 15:16

<select class="day" id="day">
<option value="1">Понедельник</option>
<option value="2">Вторник</option>
<option value="3">Среда</option>
<option value="4">Четверг</option>
<option value="5">Пятница</option>
<option value="6">Суббота</option>
<option value="0">Воскресенье</option>
<option value=""></option>
</select>


вот список, скрипт просто показывает сегодняшний день недели, в дальнейшем надо будет показать что нельзя высчитать день/дату, для этого и есть пустая опция, которой присвоиться selected

Besprizornik 03.03.2019 15:26

у поля ввода указаны шаг step="1" и мин макс значения max="2400" скрипт не должен показывать даты после 2400 года, а показывать пустые опции


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