Вывести массива в select

68
10 февраля 2022, 09:10

Нужно вывести значение массива в select. Когда я вывожу оно делится на 3 столбика(red,blue,green). Как вывести каждый объекты в отдельную строку(что бы каждое название было в отдельной строке)?

let selLine = document.querySelector('#selectLine'); 
 
const metro = { 
	"red" : [ 
	  'Академгородок', 'Житомирская', 'Святошин', 'Нивки', 
	  ], 
	"blue" : [ 
	  'ТЧ-2 «Оболонь»', 'Героев Днепра', 'Оболонь', 'Почайна', 
	], 
	"green" : [ 
	  'Сырец', 'Дорогожичи', 'Герцена', 'Лукьяновская', 
	] 
} 
 
let massVal = Object.values(metro); 
for( let i = 0; i < massVal.length; i++) { 
	selLine.add(new Option(massVal[i])); 
}
<select id="selectLine"></select>

Answer 1

Можно обойти массив вложенным циклом

for (var key in metro) {
   for( var elem in metro[key]) {
    selLine.add(metro[key][elem]);
    }
}
Answer 2

Используем вложенный цикл

 let selLine = document.querySelector('#selectLine');
        const metro = {
            "red" : [
            'Академгородок', 'Житомирская', 'Святошин', 'Нивки',
            ],
            "blue" : [
            'ТЧ-2 «Оболонь»', 'Героев Днепра', 'Оболонь', 'Почайна',
            ],
            "green" : [
            'Сырец', 'Дорогожичи', 'Герцена', 'Лукьяновская',
            ]
        }
        function CustomOption(text, value, selected) {
            this.text = text || 'Choose one option';
            this.value = value || 'Choose one option';
            this.selected = selected || false;
        };
        let massVal = Object.values(metro);
        console.log(massVal);
        for( let i = 0; i < massVal.length; i++) {
            let newOption = new CustomOption(massVal[i], massVal[i]);
            for (let j = 0; j < massVal.length; j++) {
                selLine.add(new Option(massVal[i][j]));
            }
        }
READ ALSO
Табы на чистом JS

Табы на чистом JS

Знаю, что в сети полно примеров, но, простого варианта без излишеств я не увидел, и, изначально это был простой вариант вкл/выкл через onclickПотом...

134
Div блок вылазит за границы страницы

Div блок вылазит за границы страницы

Доброго времени суток всемИмеется код, в нем по нажатию на кнопку копируется скрытый текст

69
callback функция с циклом for внутри

callback функция с циклом for внутри

Есть следующий код, функция для перебора массива и функция для работы с элементом массива -handler4Которая должна взять строку из массива и сделать...

68