Hướng dẫn how to create table using array in javascript - cách tạo bảng bằng mảng trong javascript

Tôi biết đây là một câu hỏi cũ, nhưng đối với những người xem qua web như tôi, đây là một giải pháp khác:

Sử dụng replace() trên dấu phẩy và tạo một tập hợp các ký tự để xác định phần cuối của một hàng. Tôi chỉ thêm

thisArray=[["row 1, cell 1__", "row 2, cell 2--"], ["row 2, cell 1__", "row 2, cell 2"]];
0 vào cuối các mảng nội bộ. Bằng cách đó, bạn không phải chạy chức năng
thisArray=[["row 1, cell 1__", "row 2, cell 2--"], ["row 2, cell 1__", "row 2, cell 2"]];
1.

Đây là một jsfiddle: https://jsfiddle.net/0rpb22pt/2/

Đầu tiên, bạn phải lấy một bảng bên trong HTML của bạn và cung cấp cho nó một ID:

<table id="thisTable"><tr><td>Click me</td></tr></table>

Đây là mảng của bạn được chỉnh sửa cho phương pháp này:

thisArray=[["row 1, cell 1__", "row 2, cell 2--"], ["row 2, cell 1__", "row 2, cell 2"]];

Lưu ý thêm

thisArray=[["row 1, cell 1__", "row 2, cell 2--"], ["row 2, cell 1__", "row 2, cell 2"]];
0 ở cuối mỗi mảng.

Bởi vì bạn cũng có dấu phẩy bên trong các mảng, bạn phải phân biệt chúng bằng cách nào đó để cuối cùng bạn không làm hỏng bảng của mình- thêm

thisArray=[["row 1, cell 1__", "row 2, cell 2--"], ["row 2, cell 1__", "row 2, cell 2"]];
3 sau khi các ô (bên cạnh cái cuối cùng liên tiếp) hoạt động. Nếu bạn không có dấu phẩy trong ô của mình, bước này sẽ không cần thiết.

Bây giờ đây là chức năng của bạn:

function tryit(){
  document
    .getElementById("thisTable")
    .innerHTML="<tr><td>"+String(thisArray)
    .replace(/--,/g,"</td></tr><tr><td>")
    .replace(/__,/g,"</td><td>");
}

Nó hoạt động như thế này:

  1. Gọi cho bảng của bạn và nhận được đặt
    thisArray=[["row 1, cell 1__", "row 2, cell 2--"], ["row 2, cell 1__", "row 2, cell 2"]];
    
    4.
    thisArray=[["row 1, cell 1__", "row 2, cell 2--"], ["row 2, cell 1__", "row 2, cell 2"]];
    
    5
  2. Bắt đầu bằng cách thêm thẻ HTML để bắt đầu một hàng và dữ liệu.
    thisArray=[["row 1, cell 1__", "row 2, cell 2--"], ["row 2, cell 1__", "row 2, cell 2"]];
    
    6
  3. Thêm
    thisArray=[["row 1, cell 1__", "row 2, cell 2--"], ["row 2, cell 1__", "row 2, cell 2"]];
    
    7 dưới dạng
    thisArray=[["row 1, cell 1__", "row 2, cell 2--"], ["row 2, cell 1__", "row 2, cell 2"]];
    
    8.
    thisArray=[["row 1, cell 1__", "row 2, cell 2--"], ["row 2, cell 1__", "row 2, cell 2"]];
    
    9
  4. Thay thế mọi
    thisArray=[["row 1, cell 1__", "row 2, cell 2--"], ["row 2, cell 1__", "row 2, cell 2"]];
    
    0 kết thúc trước một hàng mới bằng việc đóng và mở dữ liệu và hàng.
    function tryit(){
      document
        .getElementById("thisTable")
        .innerHTML="<tr><td>"+String(thisArray)
        .replace(/--,/g,"</td></tr><tr><td>")
        .replace(/__,/g,"</td><td>");
    }
    
    1
  5. Các dấu phẩy khác biểu thị dữ liệu riêng biệt trong các hàng. Vì vậy, thay thế tất cả các dấu phẩy đóng cửa và mở dữ liệu. Trong trường hợp này, không phải tất cả các dấu phẩy đều nằm giữa các hàng vì các tế bào có dấu phẩy, vì vậy chúng tôi phải phân biệt những người có
    thisArray=[["row 1, cell 1__", "row 2, cell 2--"], ["row 2, cell 1__", "row 2, cell 2"]];
    
    3:
    function tryit(){
      document
        .getElementById("thisTable")
        .innerHTML="<tr><td>"+String(thisArray)
        .replace(/--,/g,"</td></tr><tr><td>")
        .replace(/__,/g,"</td><td>");
    }
    
    3. Thông thường bạn chỉ làm
    function tryit(){
      document
        .getElementById("thisTable")
        .innerHTML="<tr><td>"+String(thisArray)
        .replace(/--,/g,"</td></tr><tr><td>")
        .replace(/__,/g,"</td><td>");
    }
    
    4.

Miễn là bạn không ngại thêm một số ký tự đi lạc vào mảng của bạn, nó chiếm ít mã hơn và đơn giản để thực hiện.

Bí mật của phần tử bảng

Nhiều người thường quên rằng Vanilla JS có khá nhiều sức mạnh. Bạn thực sự không cần các thư viện lạ mắt như Angular, React, hoặc thậm chí là JQuery cho mọi dự án dưới ánh mặt trời. Trong khi nhìn thấy Stackoverflow, tôi đã bắt gặp một thứ gì đó khiến tôi nhớ về điều này và tôi muốn viết một lời bảnh bao nhanh về nó.

Câu hỏi là: Làm cách nào để tạo bảng HTML từ mảng JavaScript 2 chiều? liên kết ở đâyHow do I Generate an HTML table from a 2 Dimensional JavaScript Array? link here

Synopsis:

Làm cách nào để chuyển đổi điều này:

var tableArr = [
[“row 1, cell 1”, “row 1, cell 2”],
[“row 2, cell 1”, “row 2, cell 2”]
]

vào một cái bàn trông như thế này:

Điều này đã mở ra một torrent bất ngờ của những người trả lời câu hỏi bằng cách sử dụng các lần lặp quá phức tạp, nhiều khai báo mảng và hợp nhất, và một số sử dụng kết nối chuỗi.

Câu trả lời được chấp nhận, mặc dù hợp lý, không (theo ý kiến ​​của tôi) là câu trả lời tốt nhất. Tại sao? Nếu bạn chỉ bắt đầu thiết kế web, hoặc bạn đã tham gia chỉ trong một thời gian ngắn, bạn có thể không nhận ra rằng các bảng là một phần thiết yếu của web trong nhiều năm.

Không có Indy, nó không có.

Không có những tiến bộ trong CSS cho phép bạn chia trang của mình thành 9 hoặc 12 cột dễ dàng và hàng vô hạn, tổ chức nội dung trở lại trong ngày (nếu tôi có thể rất mơ hồ và cổ xưa) , phổ biến hơn, bảng.back in the day (if I can be so vague and ancient) was memorably more frustrating and required heavy use of Frames or, more commonly, Tables.

Đây là trường hợp DOM thực sự được mở rộng để bao gồm các phương thức dễ sử dụng trên chính phần tử bảng. Có những cuộc biểu tình về điều này xung quanh, nhưng có vẻ như chúng thường bị lãng quên. Hãy cùng xem!

Đối tượng bảng

Hãy cùng nhìn nhanh vào bên trong đối tượng bảng. Hãy để đăng nhập nó vào bảng điều khiển bằng cách sử dụng

function tryit(){
  document
    .getElementById("thisTable")
    .innerHTML="<tr><td>"+String(thisArray)
    .replace(/--,/g,"</td></tr><tr><td>")
    .replace(/__,/g,"</td><td>");
}
5 để xem các thuộc tính của nó!

let table = document.createElement('table');
console.dir(table);

(Liên kết JSFiddle)

Kết quả trong bảng điều khiển trình duyệt của bạn sẽ cung cấp cho bạn một yếu tố mở rộng. Nếu bạn mở rộng, bạn sẽ nhận được tất cả các thuộc tính của phần tử bảng, bao gồm tất cả các thuộc tính phần tử tiêu chuẩn như

function tryit(){
  document
    .getElementById("thisTable")
    .innerHTML="<tr><td>"+String(thisArray)
    .replace(/--,/g,"</td></tr><tr><td>")
    .replace(/__,/g,"</td><td>");
}
6 và
function tryit(){
  document
    .getElementById("thisTable")
    .innerHTML="<tr><td>"+String(thisArray)
    .replace(/--,/g,"</td></tr><tr><td>")
    .replace(/__,/g,"</td><td>");
}
7

Các thuộc tính đều được đặt tên theo thứ tự bảng chữ cái và nếu bạn cuộn xuống r, bạn có thể ngạc nhiên khi thấy một tài sản có tiêu đề

function tryit(){
  document
    .getElementById("thisTable")
    .innerHTML="<tr><td>"+String(thisArray)
    .replace(/--,/g,"</td></tr><tr><td>")
    .replace(/__,/g,"</td><td>");
}
8R you may be surprised to see a property titled
function tryit(){
  document
    .getElementById("thisTable")
    .innerHTML="<tr><td>"+String(thisArray)
    .replace(/--,/g,"</td></tr><tr><td>")
    .replace(/__,/g,"</td><td>");
}
8

Trong các hàng thiết lập hiện tại của chúng tôi trống. Hãy để thay đổi điều đó.

INSERTROW và INSERTCELL

Làm thế nào để chúng ta thêm một hàng lập trình? Như thế này:

let table = document.createElement('table');
table.insertRow();
console.log(table);

(Liên kết JSFiddle)

Kết quả trong bảng điều khiển trình duyệt của bạn sẽ cung cấp cho bạn một yếu tố mở rộng. Nếu bạn mở rộng, bạn sẽ nhận được tất cả các thuộc tính của phần tử bảng, bao gồm tất cả các thuộc tính phần tử tiêu chuẩn như

function tryit(){
  document
    .getElementById("thisTable")
    .innerHTML="<tr><td>"+String(thisArray)
    .replace(/--,/g,"</td></tr><tr><td>")
    .replace(/__,/g,"</td><td>");
}
6 và
function tryit(){
  document
    .getElementById("thisTable")
    .innerHTML="<tr><td>"+String(thisArray)
    .replace(/--,/g,"</td></tr><tr><td>")
    .replace(/__,/g,"</td><td>");
}
7

Các thuộc tính đều được đặt tên theo thứ tự bảng chữ cái và nếu bạn cuộn xuống r, bạn có thể ngạc nhiên khi thấy một tài sản có tiêu đề

function tryit(){
  document
    .getElementById("thisTable")
    .innerHTML="<tr><td>"+String(thisArray)
    .replace(/--,/g,"</td></tr><tr><td>")
    .replace(/__,/g,"</td><td>");
}
8

Trong các hàng thiết lập hiện tại của chúng tôi trống. Hãy để thay đổi điều đó.

INSERTROW và INSERTCELL

Làm thế nào để chúng ta thêm một hàng lập trình? Như thế này:

let table = document.createElement('table');
let row = table.insertRow();
let cell = row.insertCell();
cell.textContent = "New Cell!";
document.body.appendChild(table);

(Liên kết JSFiddle)

Kết quả trong bảng điều khiển trình duyệt của bạn sẽ cung cấp cho bạn một yếu tố mở rộng. Nếu bạn mở rộng, bạn sẽ nhận được tất cả các thuộc tính của phần tử bảng, bao gồm tất cả các thuộc tính phần tử tiêu chuẩn như

function tryit(){
  document
    .getElementById("thisTable")
    .innerHTML="<tr><td>"+String(thisArray)
    .replace(/--,/g,"</td></tr><tr><td>")
    .replace(/__,/g,"</td><td>");
}
6 và
function tryit(){
  document
    .getElementById("thisTable")
    .innerHTML="<tr><td>"+String(thisArray)
    .replace(/--,/g,"</td></tr><tr><td>")
    .replace(/__,/g,"</td><td>");
}
7

Các thuộc tính đều được đặt tên theo thứ tự bảng chữ cái và nếu bạn cuộn xuống r, bạn có thể ngạc nhiên khi thấy một tài sản có tiêu đề function tryit(){ document .getElementById("thisTable") .innerHTML="<tr><td>"+String(thisArray) .replace(/--,/g,"</td></tr><tr><td>") .replace(/__,/g,"</td><td>"); } 8

Trong các hàng thiết lập hiện tại của chúng tôi trống. Hãy để thay đổi điều đó.

Synopsis:

Làm cách nào để chuyển đổi điều này:

var tableArr = [
[“row 1, cell 1”, “row 1, cell 2”],
[“row 2, cell 1”, “row 2, cell 2”]
]

vào một cái bàn trông như thế này:

Điều này đã mở ra một torrent bất ngờ của những người trả lời câu hỏi bằng cách sử dụng các lần lặp quá phức tạp, nhiều khai báo mảng và hợp nhất, và một số sử dụng kết nối chuỗi.

  1. Câu trả lời được chấp nhận, mặc dù hợp lý, không (theo ý kiến ​​của tôi) là câu trả lời tốt nhất. Tại sao? Nếu bạn chỉ bắt đầu thiết kế web, hoặc bạn đã tham gia chỉ trong một thời gian ngắn, bạn có thể không nhận ra rằng các bảng là một phần thiết yếu của web trong nhiều năm.
  2. Không có Indy, nó không có.
  3. Không có những tiến bộ trong CSS cho phép bạn chia trang của mình thành 9 hoặc 12 cột dễ dàng và hàng vô hạn, tổ chức nội dung trở lại trong ngày (nếu tôi có thể rất mơ hồ và cổ xưa) , phổ biến hơn, bảng.
  4. Đây là trường hợp DOM thực sự được mở rộng để bao gồm các phương thức dễ sử dụng trên chính phần tử bảng. Có những cuộc biểu tình về điều này xung quanh, nhưng có vẻ như chúng thường bị lãng quên. Hãy cùng xem!
  5. Đối tượng bảng

Hãy cùng nhìn nhanh vào bên trong đối tượng bảng. Hãy để đăng nhập nó vào bảng điều khiển bằng cách sử dụng

function tryit(){
  document
    .getElementById("thisTable")
    .innerHTML="<tr><td>"+String(thisArray)
    .replace(/--,/g,"</td></tr><tr><td>")
    .replace(/__,/g,"</td><td>");
}
5 để xem các thuộc tính của nó!

//setup our table array
var tableArr = [
["row 1, cell 1", "row 1, cell 2"],
["row 2, cell 1", "row 2, cell 2"]
]
//create a Table Object
let table = document.createElement('table');
//iterate over every array(row) within tableArr
for (let row of tableArr) {
//Insert a new row element into the table element
table.insertRow();
//Iterate over every index(cell) in each array(row)
for (let cell of row) {
//While iterating over the index(cell)
//insert a cell into the table element
let newCell = table.rows[table.rows.length - 1].insertCell();
//add text to the created cell element
newCell.textContent = cell;
}
}
//append the compiled table to the DOM
document.body.appendChild(table);

(Liên kết JSFiddle)

Kết quả trong bảng điều khiển trình duyệt của bạn sẽ cung cấp cho bạn một yếu tố mở rộng. Nếu bạn mở rộng, bạn sẽ nhận được tất cả các thuộc tính của phần tử bảng, bao gồm tất cả các thuộc tính phần tử tiêu chuẩn như function tryit(){ document .getElementById("thisTable") .innerHTML="<tr><td>"+String(thisArray) .replace(/--,/g,"</td></tr><tr><td>") .replace(/__,/g,"</td><td>"); } 6 và function tryit(){ document .getElementById("thisTable") .innerHTML="<tr><td>"+String(thisArray) .replace(/--,/g,"</td></tr><tr><td>") .replace(/__,/g,"</td><td>"); } 7

Các thuộc tính đều được đặt tên theo thứ tự bảng chữ cái và nếu bạn cuộn xuống r, bạn có thể ngạc nhiên khi thấy một tài sản có tiêu đề

function tryit(){
  document
    .getElementById("thisTable")
    .innerHTML="<tr><td>"+String(thisArray)
    .replace(/--,/g,"</td></tr><tr><td>")
    .replace(/__,/g,"</td><td>");
}
8

Làm thế nào để bạn tạo một bảng trong JavaScript?

function Generatetablehead (bảng, dữ liệu) {let thead = bảng.createThead ();Đặt hàng = thead.Chèn hàng();for (Đặt khóa của dữ liệu) {hãy để th = document.createdeLement ("th");Đặt văn bản = tài liệu.

Làm thế nào để bạn tạo một mảng trong JavaScript?

Tạo một mảng bằng cách sử dụng một mảng theo nghĩa đen là cách dễ nhất để tạo ra một mảng javascript.Cú pháp: const mảng_name = [item1, item2, ...];Đó là một thực tế phổ biến để khai báo các mảng với từ khóa Const.const array_name = [item1, item2, ...]; It is a common practice to declare arrays with the const keyword.

Mảng () trong javascript là gì?

Trình xây dựng mảng () được sử dụng để tạo các đối tượng mảng.

Chúng ta có thể sử dụng mảng trong javascript không?

Trong JavaScript, Array là một biến duy nhất được sử dụng để lưu trữ các yếu tố khác nhau.Nó thường được sử dụng khi chúng tôi muốn lưu trữ danh sách các yếu tố và truy cập chúng bằng một biến duy nhất.array is a single variable that is used to store different elements. It is often used when we want to store list of elements and access them by a single variable.