wiem, jest to stara sprawa, ale dla tych, przeglądania stron internetowych, jak ja, tutaj jest inne rozwiązanie:
Zastosowanie replace()
na przecinki i stworzyć zestaw znaków do określenia końca wiersza . Dodaję tylko --
do końca wewnętrznych tablic. W ten sposób nie trzeba uruchamiać funkcji for
.
Oto JSFiddle: https://jsfiddle.net/0rpb22pt/2/
Po pierwsze, trzeba się dostać stolik wewnątrz kodu HTML i nadać mu ID:
<table id="thisTable"><tr><td>Click me</td></tr></table>
Oto Twoja tablica edytowana dla tej metody:
thisArray=[["row 1, cell 1__", "row 2, cell 2--"], ["row 2, cell 1__", "row 2, cell 2"]];
Zauważ dodany --
na końcu każdej tablicy.
Ponieważ masz również przecinkami wewnątrz tablic, trzeba odróżnić je jakoś tak nie skończyć brudząc swój Tabeli-dodanie __
po komórek (poza ostatnim w rzędzie) działa. Jeśli nie masz przecinków w komórce, ten krok nie będzie konieczny.
Teraz tutaj jest twoja funkcja:
function tryit(){
document
.getElementById("thisTable")
.innerHTML="<tr><td>"+String(thisArray)
.replace(/--,/g,"</td></tr><tr><td>")
.replace(/__,/g,"</td><td>");
}
To działa tak:
- Zadzwoń do swojego stolika i dostać się do ustawiania
innerHTML
. document.getElementById("thisTable").innerHTML
- Rozpocznij od dodania znaczników HTML, aby rozpocząć wiersz i dane.
"<tr><td>"
- Dodaj
thisArray
jako String()
. +String(thisArray)
- Wymień co
--
, który kończy się przed nowym wierszem z zamknięciem i otwarciem danych i wiersza..replace(/--,/g,"</td></tr><tr><td>")
- Pozostałe przecinki oznaczają oddzielne dane w ciągu wierszy. Zastąp wszystkie przecinki zamknięciem i otwarciem danych. W tym przypadku nie są przecinane między wierszami, ponieważ komórki mają przecinki, więc musieliśmy rozróżnić je z
__
: .replace(/__,/g,"</td><td>")
. Zwykle po prostu robisz .replace(/,/g,"</td><td>")
.
Dopóki nie masz nic przeciwko dodawaniu do twojej tablicy niektórych zabłąkanych znaków, zajmuje to znacznie mniej kodu i jest proste w implementacji.
Dziwię się, że nikt inny nie zwrócił na to pytanie wcześniej. Pomyślałem, że będzie to coś, czego większość twórców stron będzie potrzebować. –
Więc czekaj, zadałeś pytanie, napisałeś komentarz, a następnie wysłałeś odpowiedź na swoje własne pytanie w ciągu 6 minut? Dlaczego potrzebujesz nawet przepełnienia stosu, możesz to zrobić za pomocą dokumentu tekstowego. – VoronoiPotato
@VoronoiPotato Wysłałem odpowiedź na moje własne pytanie, aby odpowiedź była przydatna dla innych twórców stron internetowych - do tego służy właśnie Stack Overflow. Istnieje nawet przycisk "odpowiedz na własne pytanie", który jest wyświetlany podczas publikowania pytania w Stack Exchange Network. –