Когда вывожу элементы подмассива в ячейки таблицы через цикл for
, то первым выводится undefined
, а потом уже все элементы: undefined Hello world Phrase 23 qwerty lorem
Сам код:
var arr = [
["Hello", "world", "Phrase", "23", "qwerty", "lorem"],
["56", "wetrf", "random", "099", "world", "Phrase"],
["23", "qwerty", "lorem", "56", "wetrf", "random"],
["Hello", "wew", "Phrase", "23", "qwerty", "lorem"],
["Bye", "world", "Element", "23", "qwerty", "lorem"]
];
var table = document.getElementById('tab')
var i = 0;
function button() {
var el = document.createElement('tr');
table.appendChild(el);
var row;
for (var j = 0; j < arr[i].length; j++) {
row += '<td>' + arr[i][j] + '</td>';
}
el.innerHTML = row;
}
<table id="tab"> </table>
<input type="button" value="Кнопка" onclick="button()">
Из-за чего это может быть? Как сделать так, чтобы выводились только элементы, содержащиеся в подмассиве?
Проблема банальна.
Вы пишете:
var row;
Тут, в переменную записывается undefined
, т.к. по дефолту не присвоено значение, и уже дальше к нему (к значению undefined) вы конкатенируете данные из цикла.
Решение: объявить переменную, как полагается, с ожидаемым типом:
var row = '';
P.S. Повторю свои слова из комментария:
Считаю, что нужно вам напомнить (или открыть секрет), что в браузере есть инструменты разработчика, и в частности такая волшебная штука, как отладчик (debugger). И вы можете воспользоваться им, и по шагам пройти все итерации и посмотреть какая переменная на каком этапе какое значение принимает. И тогда не придется на каждый чих создавать вопрос. Советую почитать что-то на эту тему и отлаживать свой код. Как пример: https://learn.javascript.ru/debugging-chrome
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Ребят, я заканчиваю 4курс универа
Есть два запроса: /create /getlist В первом запросе я добавляю определенный элемент:
Есть строка, которая хранится в localstorage в формате json
Подскажите, пожалуйста, может ли быть такое, что код, написанный на AngularJS отлично работает на встроенном локальном сервере Webstorm, а при переносе...