EDIT - код для вычисления refill_playlist_len включен
У меня есть функция в Javascript, которая удаляет строку таблицы HTML и снова заполняет ее значениями из массивов.
В этой функции deleteRow у меня есть для l oop, который проходит по строке и присваивает части строк различным переменным и пытается вывести их sh на массивы.
Без for
l oop он работает нормально (т.е. когда я просто индексирую вручную), но по какой-то причине, когда я помещаю его в a для l oop, значения не помещаются в массивы. Сами значения печатаются нормально на каждой итерации, они просто не добавляются в массив.
Refill_playlist_len - это число Django Queryset (30).
var refill_playlist_len = '{{ playlist.count }}';
var artist_Arr = [];
var track_Arr = [];
var track_id_Arr = [];
var album_Arr = [];
var artist_name;
var track_name;
var track_id;
var album_name;
for (var i = 0; i < refill_playlist_len; i++) {
var searchStr = refill_playlist[i];
console.log(searchStr);
console.log(typeof searchStr);
console.log(typeof refill_playlist);
//grab variables
artist_name = searchStr.match(new RegExp("artist_name:" + "(.*)" + ", album_name:"));
console.log(artist_name[1]);
artist_Arr.push(artist_name[1]);
track_name = searchStr.match(new RegExp("track_name:" + "(.*)" + ", acousticness:"));
console.log(track_name[1]);
track_Arr.push(track_name[1]);
track_id = searchStr.match(new RegExp("track_id:" + "(.*)" + ", track_name:"));
console.log(track_id[1]);
track_id_Arr.push(track_id[1]);
album_name = searchStr.match(new RegExp("album_name:" + "(.*)" + ", track_number:"));
console.log(album_name[1]);
album_Arr.push(album_name[1]);
}
Журналы консоли приведены на рисунке ниже. Вы можете увидеть часть напечатанного searchStr, а также типы данных, имя исполнителя, идентификаторы дорожек и т. Д. c, но по какой-то причине он говорит, что searchStr не определен?
Консоль
Я совершенно новичок в Javascript, поэтому я приношу свои извинения, если есть что-то базовое c Я забыл.