I have a student who is trying to display in a text box the element that was selected by random from a filtered list. I am not sure where the error is occurring. I have tried everything I know. Can someone please help?
//purpose: sets up base data lists
//explain: sets data as lists from data set to store in variables
var artistNames = getColumn (“RollingStone: 500 Albums”, “Artist”);
var albumNames = getColumn (“RollingStone: 500 Albums”, “Album”);
var genreList = getColumn (“RollingStone: 500 Albums”, “Genre”);
var yearList = getColumn (“RollingStone: 500 Albums”, “Year”);
var albumArtList = getColumn (“RollingStone: 500 Albums”, “Album Art”);
//purpose: sets up blank lists
//explain: these filtered lists will be comprised of what the genre
//input selection determines to be put into them
var filteredArtists = ;
var filteredAlbums = ;
var filteredYear = ;
var filteredArt = ;
//purpose: changes screen
//explain: when dropdown is changed, functions are performed
onEvent(“genreInput”, “change”, function( ) {
filter();
updateScreen();
});
function filter() {
//reset filtered lists to empty
filteredArtists = ;
filteredAlbums = ;
filteredYear = ;
filteredArt = ;
//traverses genre list
//if genre matches the input option, songs of that genre will be displayed
for(var i=0; i<genreList.length; i++){
var genreChoice = getText(“genreInput”);
if(genreList[i] == genreChoice){
appendItem(filteredArtists, artistNames[i]);
appendItem(filteredAlbums, albumNames[i]);
appendItem(filteredYear, yearList[i]);
appendItem(filteredArt, albumArtList[i]);
}
}
}
function updateScreen(){
var index = randomNumber(0, filteredArtists.length-1);
setText(“artist”, filteredArtists[index]);
setText(“albumName”, filteredAlbums[index]);
setNumber(“year”, filteredYear[index]);
setProperty(“albumArt”, “image”, filteredArt[index]);
}
The error is occuring in the setText(“artist”, filteredArtists[index]); line.