Зацикливание элементов, добавление их к объекту и создание console.log - PullRequest
0 голосов
/ 18 января 2019

Я делаю циклические радиокнопки, чтобы добавить их значения в объект javascript. Когда я делаю console.log, я вижу только последний элемент как «часть объекта», а не весь объект.

Что я делаю не так?

      var steps = {};
      var elements = document.getElementsByTagName("input");
       for(var i = 0; i<elements.length; i++) {
        if(elements[i].type === "radio")
         {
           Object.assign(steps, {name: elements[i].value});                
         }
       }

     console.log(steps);

1 Ответ

0 голосов
/ 18 января 2019

Вы выполняете следующее в цикле

Object.assign (steps, {name: elements [i] .value});

в основном это добавляет ключ имя со значением elements [i] .value .

Метод Object.assign () используется для копирования значений всех перечисляемых собственных свойств из одного или нескольких исходных объектов в целевой объект. Он вернет целевой объект.

Вам необходимо преобразовать steps в массив, а затем нажать на все ключи в нем. В качестве альтернативы вы можете изменить ключ name и сделать его уникальным, хотя преобразование в массив будет более предпочтительным.

Для массива вам нужно сделать что-то вроде этого

var steps = [];
var elements = document.getElementsByTagName("input");
for (var i = 0; i < elements.length; i++) {
  if (elements[i].type === "radio") {
    steps.push({ name: elements[i].value });
  }
}

console.log(steps);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...