Подскажите, пожалуйста как собрать все значения value в массив,для последующей работы с ним. Вот пробую написать
var mixedPictureSelect = document.getElementById("mixedPictureSelect"),
mixedPictures = mixedPictureSelect.children,
mixedPicturesLen = mixedPictures.length;
var arr = [];
for (var i = 0; i < mixedPicturesLen; i++) {
var val = mixedPictures[i].value;
arr = arr.push(val);
}
console.log("arr = " + arr);
<select name="mixedSelect" id="mixedPictureSelect" class="mix_workPlace__select">
<option value="picture1" data-id="0">text1</option>
<option value="picture2" data-id="1">text2</option>
<option value="picture3" data-id="2">text3</option>
<option value="picture4" data-id="3">text4</option>
</select>
не понимаю почему push в моем случаии е формирует новый массив из значений value option ?
.push
- меняет массив, у которого вызывается, и возвращает новую длину.
Поэтому в данном случае не надо было присваивать результат выполнения той же переменной.
var mixedPictureSelect = document.getElementById("mixedPictureSelect"),
mixedPictures = mixedPictureSelect.children,
mixedPicturesLen = mixedPictures.length;
var arr = [];
for (var i = 0; i < mixedPicturesLen; i++) {
var val = mixedPictures[i].value;
arr.push(val);
}
console.log("arr = " + arr);
<select name="mixedSelect" id="mixedPictureSelect" class="mix_workPlace__select">
<option value="picture1" data-id="0">text1</option>
<option value="picture2" data-id="1">text2</option>
<option value="picture3" data-id="2">text3</option>
<option value="picture4" data-id="3">text4</option>
</select>
Новый массив возвращает метод .concat
. Если его использовать вместо .push
в текущем коде, то все заработает.
var mixedPictureSelect = document.getElementById("mixedPictureSelect"),
mixedPictures = mixedPictureSelect.children,
mixedPicturesLen = mixedPictures.length;
var arr = [];
for (var i = 0; i < mixedPicturesLen; i++) {
var val = mixedPictures[i].value;
arr = arr.concat(val);
}
console.log("arr = " + arr);
<select name="mixedSelect" id="mixedPictureSelect" class="mix_workPlace__select">
<option value="picture1" data-id="0">text1</option>
<option value="picture2" data-id="1">text2</option>
<option value="picture3" data-id="2">text3</option>
<option value="picture4" data-id="3">text4</option>
</select>
/*arr =*/ arr.push(val); // returns new length
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Задание "Описать класс, представляющий треугольникПредусмотреть методы для создания объектов, вычисления площади, периметра и точки пересечения...
Есть страница с блоками разных цветовЕсть меню, по клику на пункт которого, происходит прокрутка к соответствующему блоку
Есть код, он рабочийЯ новичок в промисах, можно ли как-то упростить его? Знаю, что сделал неправильно, второй промис можно как-то вынести отдельно
Как сделать так, что бы при перемножении ячеек таблицы 1 и таблицы 2, в таблицу 3 результат перемножения каждой ячейки выводился в ту же ячейку...