У меня есть веб-сайт, который загружает песни, чтобы пользователь мог их воспроизвести. Этот метод «loadSongs()» в основном берет все песни из ввода файла и называется «onchange» ввода файла. Я просто не могу заставить имена файлов вставляться в мой строковый массив: «песни». Был бы признателен за любую помощь, вот мой код:Javascript String Array: метод Push не работает
function loadSongs() {
var x = document.getElementById("file");
var songs = new Array();
if (x.files.length != 0) {
for (var i = 0; i < x.files.length; i++) {
var file = x.files[i];
songs.push(file.name);
}
}
for (var j = 0; j < songs.length; j++) {
alert("song #" + i + ": " + songs[i]);
}
}
Я могу успешно получить доступ к все файлы в первый цикл, потому что, когда я сделал «предупреждение (file.name)» в первом для цикла, он работал нормально. К сожалению, я просто не могу получить их в массив строк.
Это должно быть 'alert (" song # "+ j +": "+ songs [j]);', а не 'i' во втором цикле. –
И прежде чем задавать такие вопросы, вы должны использовать браузер [отладка] (https://developer.chrome.com/devtools/docs/javascript-debugging). –
@Jacob Вы должны ответить на комментарии и ответы, чтобы мы знали, был ли ответ на ваш вопрос. –