Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.05.2022, 12:42
Аспирант
Отправить личное сообщение для Judgin Посмотреть профиль Найти все сообщения от Judgin
 
Регистрация: 31.05.2021
Сообщений: 32

Вывести в DOM из двух массивов
Нужно вывести на страницу название фильма и постер, а также динамически создать кнопку для каждого фильма. Названия и постеры находятся в разных массивах. С выводом только названия проблем не возникает (на скриншоте красными стрелками, между названием и кнопкой, отмечены места куда должны выводится постеры), а вот вывести постеры не получается.

https://drive.google.com/file/d/1pSu...ew?usp=sharing

Используя метод map, не знаю как вывести постеры из другого массива

document.getElementById(movieL).innerHTML = '<h3>'+ arr_RU[k] +'</h3><ul class="category-list clearfix">' + arrFinal.map(function (wizard) {
	return '<li id = '+ k +' class="category-item"><a href="https://ru.wikipedia.org//wiki/'+ wizard + '">' + wizard + '</a><div id="btn"><button onclick="openLink(this)" id="btn">Смотреть фильм</button></div></li>';
}).join('') + '</ul>';


Если же я создаю объект из 2-х массивов и вывожу его используя код приведенный ниже, то заголовок <h3> оказывается в цикле и выводится большее кол-во раз чем требуется.

for(let objValues in obj){
    val += '<h3>'+ arr_RU[k] +'</h3><ul class="category-list clearfix"><li id = '+ k +' class="category-item"><a href="https://ru.wikipedia.org//wiki/'+ objValues + '">' + objValues + '</a><img src = '+ obj[objValues] +'><div id="btn"><button onclick="openLink(this)" id="btn">Смотреть фильм</button></div></li></ul>';
}
document.getElementById(movieL).innerHTML = val;


Как решить данную проблему?
Ответить с цитированием
  #2 (permalink)  
Старый 24.05.2022, 13:55
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от Judgin
Используя метод map, не знаю как вывести постеры из другого массива
Как пример...
const a =[{name: 'a1'}, {name: 'a2'}]
	let b =[{name: 'b1'}, {name: 'b2'}]
	b = b.map((el, i) => {
		el.a = a[i]
		return el
	})
	console.log(b)
Ответить с цитированием
  #3 (permalink)  
Старый 27.05.2022, 20:44
Аспирант
Отправить личное сообщение для Judgin Посмотреть профиль Найти все сообщения от Judgin
 
Регистрация: 31.05.2021
Сообщений: 32

Сообщение от ksa Посмотреть сообщение
Как пример...
const a =[{name: 'a1'}, {name: 'a2'}]
	let b =[{name: 'b1'}, {name: 'b2'}]
	b = b.map((el, i) => {
		el.a = a[i]
		return el
	})
	console.log(b)
Вы привели как пример код, который создает массив объектов из двух массивов. Но у меня проблема заключается не в создании такого массива, а в выводе такого или другого по структуре массива. Если я использую метод map(cм.выше) и вывожу из массива (см.скриншот массива ниже) только названия фильмов, то все выводится. Т.е я указываю параметр функции wizard и соответственно создается секция с заголовком "A" в нее выводятся все названия фильмов на букву "A" и так далее по алфавиту. Но если в параметр wizard передается только один массив, то если мне нужно вывести еще постеры из другого массива, то как быть? Может в этом случае, код который я привел выше не годится и нужно выводить как-то иначе?

https://drive.google.com/file/d/1G6a...ew?usp=sharing
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать массив объектов из двух массивов? CryNet Общие вопросы Javascript 1 31.01.2020 14:20
Как в onsole.log вывести свойство DOM VasyOK Events/DOM/Window 1 10.12.2018 16:02
Сложение всех элементов двух массивов. sharun Общие вопросы Javascript 27 14.05.2018 15:38
Создание из двух одномерных массивов один двумерный Artur_Hopf Общие вопросы Javascript 3 02.04.2018 13:05
Пересечение и разность двух массивов harold Общие вопросы Javascript 9 18.12.2013 21:41