map по id инпутов

146
22 сентября 2018, 14:40

Функция не работает. Вероятнее всего, ошибка в объявлении input. Когда вместо map использую for loop все работает, но хочется именно через map разобраться.

HTML:

<input id = "nameInput" type="text" pattern="[0-9]" onchange = "func();"/>
<input id = "emailInput" type="email" onchange = "func();"/>

JS:

var state = {nameInput: {value: "", errors:  null}, 
         emailInput: {value: "", errors: null}};
var inputId = Object.keys(state);
   var func = () => {
inputId.map((item, input = document.getElementById(item)) =>        
  state[item].value = input.value);
  console.log(state)
  };
Answer 1
  1. За использование map не по назначению надо руки отрывать. Тебе нужен результат map? Там вообще хоть какой-то осмысленный результат получается? Нет.
  2. В коллбэк вторым параметром приходит индекс, что явно не undefined, а значит значение по умолчанию не вычисляется и не используется.
READ ALSO
delay на смену заголовка

delay на смену заголовка

Пожалуй, это глупый вопрос, но почему-то не получается разобратьсяЕсть такая интересная маленькая и хрупкая библиотека i miss you: https://github

166
Обращение к ползунку инпута range на js

Обращение к ползунку инпута range на js

Нужен был слайдер для выбора цветаНашёл решение и немного изменил: https://codepen

189
Сборка всех CSS файлов в один через Webpack

Сборка всех CSS файлов в один через Webpack

Начала изучать Webpack и первым делом решила переписать свою gulp-сборкуОдна из базовых задач в ней - рекурсивно идти по всем папкам проекта, собирая...

172
Сохраненное значение из prompt выводится как undefined

Сохраненное значение из prompt выводится как undefined

Как сделать чтобы выводилось то, что вписывается в prompt? Сейчас выводит undefined, и не пойму почему не видит name и nick

133