Как прибавлять к ключу объекта + 1?
Здрасьте, тут (аудиоплеер) нужна функция которая меняет картинку композиций по очереди, типо прибавляет один. Как написать эту функция и можно если у ключа объекта наприм. cover1, cover2 с логикой + 1 как то получить эту функцию.
let songs = [{
name: 'TKN',
src: './assets/songs/ROSALÍA, Travis Scott - TKN.mp3',
cover1: './assets/images/rosalia-tkn.jpg',
artist: 'ROSALÍA, Travis Scott',
lyrics: ''
},{
name: 'No Heart',
src: './assets/songs/21 Savage & Metro Boomin - No Heart.mp3',
cover2: './assets/images/no-heart.jpg',
artist: '21 Savage, Metro Boomin',
lyrics: ''
}];
let songIndex = 0;
function loadSong(song) {
song_info.innerHTML = song;
audio.src = songs.src;
song_wrap = songs.cover; //index + 1
}
loadSong(song[songIndex]);
Ответы (1 шт):
Автор решения: EzioMercer
→ Ссылка
К свойствам объекта можно обращаться не только с помощью точки. Можно использовать квадратные скобки, где можно составлять нужную строку, т.е. название свойства:
let songs = [{
name: 'TKN',
src: './assets/songs/ROSALÍA, Travis Scott - TKN.mp3',
cover1: './assets/images/rosalia-tkn.jpg',
artist: 'ROSALÍA, Travis Scott',
lyrics: ''
},{
name: 'No Heart',
src: './assets/songs/21 Savage & Metro Boomin - No Heart.mp3',
cover2: './assets/images/no-heart.jpg',
artist: '21 Savage, Metro Boomin',
lyrics: ''
}];
let songIndex = 0;
function loadSong(song) {
//song_info.innerHTML = song;
//audio.src = songs.src;
//song_wrap = songs[`cover${++songIndex}`]; //index + 1
return song[`cover${++songIndex}`];
}
console.log(loadSong(songs[songIndex]));
console.log(loadSong(songs[songIndex]));