Я ищу кого-нибудь, чтобы показать мне, где я ошибся. Инструкции следующие:
Напишите следующую функцию (используйте массив песен, чтобы определить, что возвращать). getSongsNamesByArtist - эта функция ожидает строку в качестве аргумента и возвращает массив, содержащий имена только тех песен в массиве песен, свойства исполнителя которых равны строке, которая ей передана.
Итак, я сделал следующее:
let songs = [];
function createSong(name, artist) {
let song = {
name: name,
artist: artist
}
songs.push(song);
return song;
}
var heroes = new createSong("Heroes", "Bowie");
var jubileeStreet = new createSong("Jubilee Street", "Nick Cave");
var buena = new createSong("Buena", "Morphine");
var changes = new createSong("Changes", "Bowie");
var belaLugosi = new createSong("Bela Lugosi is Dead", "Bauhaus");
// I could get only this far:
function getSongsNamesByArtist(artist) {
let names = [];
for (let i = 0; i < songs.length; i++) {
let song = songs[i];
if (song.artist === artist) {
names.push(song.name);
return names;
}
}
}
console.log(getSongsNamesByArtist("Bowie")) // returns: [ 'Heroes' ], but not both of them.
Подскажите, пожалуйста, в чем я ошибся? Спасибо за уделенное время!