Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Получить массив value из input (https://javascript.ru/forum/misc/46573-poluchit-massiv-value-iz-input.html)

maternik 15.04.2014 16:20

Получить массив value из input
 
Привет, братцы! От чего не удаётся получить массив элементов <input> и тут же переписать его на значения value в них? Можно ли в данном случае обойтись одним массивом?
q=document.getElementsByName("as");
for (var i=0; i<q.length; i++){
q[i]=parseInt(q[i].value);
}
alert(q); //хочецца 6,7

<input value="6" name="as">
<input value="7" name="as">

jsnb 15.04.2014 16:26

for (var i = q.length-1; i >= 0; i--){
  q[i].outerHTML = parseInt(q[i].value);
}


Или если имеется ввиду то, что надо сделать массив из значений инпутов, то создавай массив и клади в него значения, потому что q - это не массив, а nodeList.

Aetae 15.04.2014 16:30

getElementsBy возвращает не массив, а массиво-подобный объект NodeList, причём живой(при удалении\добавлении элементов он изменится автоматически). Так что вам придётся заводить отдельный массив, либо приводить NodeList к массиву:
q = Array.prototype.slice.call(document.getElementsByName("as"));

maternik 15.04.2014 16:44

Прикольно, братцы, спасибо!

Sweet 15.04.2014 18:15

var q = Array.map(document.getElementsByName("as"), function (item) {
    return parseInt(item.value, 10);
});
Только нужен Array.map:) А так, по старинке:
var q = Array.prototype.map.call(document.getElementsByName("as"), function (item) {
    return parseInt(item.value, 10);
});

Aetae 15.04.2014 23:09

Sweet, думается мне что раз уж есть Array.prototype.map то и Array.map должен быть.

Sweet 15.04.2014 23:23

Aetae, Chrome 34:
Array.map === undefined // true

devote 16.04.2014 00:06

Цитата:

Сообщение от Aetae
Sweet, думается мне что раз уж есть Array.prototype.map то и Array.map должен быть.

Array.prototype.map это не Object.prototype.map, следовательно у конструктора Array не может быть метода map так как Array является наследником Object но никак не наследником Array

Octane 16.04.2014 00:10

Дженерики типа Array.map, Array.filter и т.д. есть только в Firefox

devote 16.04.2014 00:14

Цитата:

Сообщение от Octane
Дженерики типа Array.map, Array.filter и т.д. есть только в Firefox

Видимо в ФФ методы класса Array дополнительно объявили как статические методы)


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