55
rated 0 times
[
57]
[
2]
/ answers: 1 / hits: 70510
/ 9 Years ago, sun, march 8, 2015, 12:00:00
So basically I've been working on a small personal project of mine in Javascript, and I've hit a snag. I'm trying to generate a list in HTML from a 2D array using Javascript. Here is my code:
function generatePageFromArray(page, array){
var entry, i, j;
for (i = 0; i < array.length; ++i) {
entry = array[i];
for (j = 0; j < entry.length; j = j + 2) {
page = page + '<tr>'+
'<td class=favoritesContainer><input type=checkbox class=favorites></input></td>';
page = page + '<td class=english>' + entry[j,0] + '</td>';
page = page + '<td class=spanish>';
if (entry[j,1].indexOf(|) > 0){
var spanishTerms = entry[j,1].split(|);
var strLength = spanishTerms.size;
for (i = 0; i < strLength; i++){
page = page.concat(spanishTerms[i] + '<br>');
}
}
else{
page = page + entry[j,1];
}
page = page + '</td>'
page = page + '</tr>';
}
}
return page;}
It keeps throwing a Uncaught RangeError: Invalid string length on this line:
page = page + '<tr>'+
'<td class=favoritesContainer><input type=checkbox class=favorites></input></td>';
I have no idea why. I've also tried using .concat() to append, but nothing.
More From » html