Giới thiệu về 2D Array – mảng 2 chiều trong JavaScript
Số trang: 4
Loại file: pdf
Dung lượng: 116.08 KB
Lượt xem: 12
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Ma trận sẽ tiến hành xử lý mỗi khi bạn nhập vào dòng và cột dữ liệu. Ví dụ: nếu bạn muốn hiển thị dữ liệu trên từng dòng với mỗi năm và từng cột với mỗi tháng, hoặc khi bạn thực hiện quá trình tạo báo cáo tài chính cho công ty, tổ chức, doanh nghiệp... thì việc sử dụng matrix là 1 giải pháp vô cùng hợp lý, tương ứng với tình hình kinh doanh và hiệu suất của từng phòng, ban ngành... hoặc đem so sánh với mức chỉ tiêu chung của toàn công ty. Các bạn...
Nội dung trích xuất từ tài liệu:
Giới thiệu về 2D Array – mảng 2 chiều trong JavaScriptGiới thiệu về 2D Array – mảng 2 chiều trong JavaScriptMa trận sẽ tiến hành xử lý mỗi khi bạn nhập vào dòng và cột dữ liệu. Ví dụ:nếu bạn muốn hiển thị dữ liệu trên từng dòng với mỗi năm và từng cột với mỗitháng, hoặc khi bạn thực hiện quá trình tạo báo cáo tài chính cho công ty, tổ chức,doanh nghiệp... thì việc sử dụng matrix là 1 giải pháp vô cùng hợp lý, tương ứngvới tình hình kinh doanh và hi ệu suất của từng phòng, ban ngành... hoặc đem sosánh với mức chỉ tiêu chung của toàn công ty.Các bạn hãy liên tưởng tới 1 chiếc bàn cờ, có 8 dòng (được đánh dấu từ 0 > 7), 8cột (cũng đánh dấu từ 0 > 7). Nếu muốn kiểm tra vị trí chính xác của ô phía trêngóc trái thì hãy truy cập chessboard[0][0], ô tiếp theo sẽ là vị trí [0][1], và tiếp tụcthay thế giá trị của x thành [0][7] để đi hết 1 cạnh từ trái sang phải của bàn cờ.Tương tự như vậy, thay đổi giá trị y nếu muốn di chuyển từ trên xuống dưới, vídụ [6][1] là ô thứ 2 của cột thứ 7.Ký hiệu chúng tôi đang sử dụng ở đây khá phù hợp với những biếntrong JavaScript: [y][x], tất cả các mảng đều bắt đầu từ 0, do vậy có thể hiểu nômna về dạng câu hỏi: “Khoảng cách bao nhiêu tính từ phía trái” hoặc “vị trí 0” sẽchính xác là tọa độ đầu tiên từ bên trái.Một trong những quy ước chung được sử dụng rộng rãi khi áp dụng với ma trận làdùng chung biến x và y, ví dụ x luôn luôn là chỉ số cột (khoảng cách, vị trí tính từbên trái), và y là chỉ sổ dòng (khoảng cách từ trên xuống). Do vậy, tọađộ y,x tương ứng với [0][0] là thành phần đầu tiên ở góc trên bên trái, [0][1] làthành phần thứ 2 tiếp theo từ trên xuống, còn [1][n] là dòng thứ 2....JavaScript và 2D Array:Nhưng trên thực tế, JavaScript lại không hỗ trợ 2D Array. Và cách thường sửdụng để xử lý dữ liệu trong mảng 2 chiều là tạo đối tượng Array, bao gồm nhiềuđối tượng Array bên trong.Sử dụng mảng 1 chiều tương tự như mảng 2 chiều:Trong nhiều trường hợp thực tế, chúng ta có thể dễ dàng “ép” mảng 1 chiều vàotrong mảng 2 chiều bàng cách sử dụng toán tử lập trình logic. Ví dụ: chúng ta có 1chuỗi các ký tự như sau: var sData= abcdefghijABCDEFGHIJäß©ÐëØ>½îÿ;Tại đây, chúng ta có thể dễ dàng thấy 1 mô hình đơn giản, với 3 chuỗi liên tiếp của10 ký tự, tương ứng với đó là ma trận 10 x 3: // column: 0123456789 var sData= abcdefghij // row 0 (starts at offset 0) +ABCDEFGHIJ // row 1 (starts at offset 10) +äß©ÐëØ>½îÿ // row 2 (starts at offset 20)Mỗi dòng tại đây sẽ chứa 10 cột, chúng ta có thể dễ dàng tính toán và xác định vịtrí đầu tiên của bất kỳ dòng nào bằng cách nhân số dòng với 10. Công thức tổngquát tại đây sẽ có dạng: (y * row_length) + xvới y là số dòng, x là số cột, row_length là số cột trong mỗi dòng.Với dữ liệu như ví dụ trên, chúng ta có thể dựng cấu trúc mảng 2 chiều như sau: // assumes data is a string, sData and rows have 10 columns function GetCellValue(y,x) { nRowStart= y*10; nOffset = nRowStart+ x; sElementValue= sData.substr(nOffset,1); // access one element return( sElementValue ); } .... // y,x (row, column) alert( GetCellValue(0,0) ); // displays a alert( GetCellValue(0,1) ); // displays b alert( GetCellValue(0,2) ); // displays c alert( GetCellValue(1,2) ); // displays C alert( GetCellValue(2,2) ); // displays © alert( GetCellValue(0,9) ); // displays j alert( GetCellValue(1,9) ); // displays J alert( GetCellValue(2,9) ); // displays ÿSau đó, chúng ta đã có thể truy cập chuỗi dữ liệu tương tự như mảng 2 chiều vớitừng ký tự riêng biệt. Và tiếp tục như vậy, chúng ta hoàn toàn làm được việc épcấu trúc mảng 2 chiều vào mảng 1 chiều bằng cách gán thêm chức năng truy cậpdữ liệu đặc biệt. Nhưng đây cũng không phải là cách làm phổ biếntrong JavaScript.Sử dụng mảng của mảng:Trên thực tế, cách sử dụng thường xuyên mảng 2 chiều trong JavaScript là tạomảng 1 chiều, sau đó gán từng đối t ượng bên trong đó với 1 mảng 1 chiều khác.Nếu đi vào việc phân tích cụ thể, chức năng dưới đây là 1 trong những cách đơngiản để tạo và cố định mảng 2 chiều ...
Nội dung trích xuất từ tài liệu:
Giới thiệu về 2D Array – mảng 2 chiều trong JavaScriptGiới thiệu về 2D Array – mảng 2 chiều trong JavaScriptMa trận sẽ tiến hành xử lý mỗi khi bạn nhập vào dòng và cột dữ liệu. Ví dụ:nếu bạn muốn hiển thị dữ liệu trên từng dòng với mỗi năm và từng cột với mỗitháng, hoặc khi bạn thực hiện quá trình tạo báo cáo tài chính cho công ty, tổ chức,doanh nghiệp... thì việc sử dụng matrix là 1 giải pháp vô cùng hợp lý, tương ứngvới tình hình kinh doanh và hi ệu suất của từng phòng, ban ngành... hoặc đem sosánh với mức chỉ tiêu chung của toàn công ty.Các bạn hãy liên tưởng tới 1 chiếc bàn cờ, có 8 dòng (được đánh dấu từ 0 > 7), 8cột (cũng đánh dấu từ 0 > 7). Nếu muốn kiểm tra vị trí chính xác của ô phía trêngóc trái thì hãy truy cập chessboard[0][0], ô tiếp theo sẽ là vị trí [0][1], và tiếp tụcthay thế giá trị của x thành [0][7] để đi hết 1 cạnh từ trái sang phải của bàn cờ.Tương tự như vậy, thay đổi giá trị y nếu muốn di chuyển từ trên xuống dưới, vídụ [6][1] là ô thứ 2 của cột thứ 7.Ký hiệu chúng tôi đang sử dụng ở đây khá phù hợp với những biếntrong JavaScript: [y][x], tất cả các mảng đều bắt đầu từ 0, do vậy có thể hiểu nômna về dạng câu hỏi: “Khoảng cách bao nhiêu tính từ phía trái” hoặc “vị trí 0” sẽchính xác là tọa độ đầu tiên từ bên trái.Một trong những quy ước chung được sử dụng rộng rãi khi áp dụng với ma trận làdùng chung biến x và y, ví dụ x luôn luôn là chỉ số cột (khoảng cách, vị trí tính từbên trái), và y là chỉ sổ dòng (khoảng cách từ trên xuống). Do vậy, tọađộ y,x tương ứng với [0][0] là thành phần đầu tiên ở góc trên bên trái, [0][1] làthành phần thứ 2 tiếp theo từ trên xuống, còn [1][n] là dòng thứ 2....JavaScript và 2D Array:Nhưng trên thực tế, JavaScript lại không hỗ trợ 2D Array. Và cách thường sửdụng để xử lý dữ liệu trong mảng 2 chiều là tạo đối tượng Array, bao gồm nhiềuđối tượng Array bên trong.Sử dụng mảng 1 chiều tương tự như mảng 2 chiều:Trong nhiều trường hợp thực tế, chúng ta có thể dễ dàng “ép” mảng 1 chiều vàotrong mảng 2 chiều bàng cách sử dụng toán tử lập trình logic. Ví dụ: chúng ta có 1chuỗi các ký tự như sau: var sData= abcdefghijABCDEFGHIJäß©ÐëØ>½îÿ;Tại đây, chúng ta có thể dễ dàng thấy 1 mô hình đơn giản, với 3 chuỗi liên tiếp của10 ký tự, tương ứng với đó là ma trận 10 x 3: // column: 0123456789 var sData= abcdefghij // row 0 (starts at offset 0) +ABCDEFGHIJ // row 1 (starts at offset 10) +äß©ÐëØ>½îÿ // row 2 (starts at offset 20)Mỗi dòng tại đây sẽ chứa 10 cột, chúng ta có thể dễ dàng tính toán và xác định vịtrí đầu tiên của bất kỳ dòng nào bằng cách nhân số dòng với 10. Công thức tổngquát tại đây sẽ có dạng: (y * row_length) + xvới y là số dòng, x là số cột, row_length là số cột trong mỗi dòng.Với dữ liệu như ví dụ trên, chúng ta có thể dựng cấu trúc mảng 2 chiều như sau: // assumes data is a string, sData and rows have 10 columns function GetCellValue(y,x) { nRowStart= y*10; nOffset = nRowStart+ x; sElementValue= sData.substr(nOffset,1); // access one element return( sElementValue ); } .... // y,x (row, column) alert( GetCellValue(0,0) ); // displays a alert( GetCellValue(0,1) ); // displays b alert( GetCellValue(0,2) ); // displays c alert( GetCellValue(1,2) ); // displays C alert( GetCellValue(2,2) ); // displays © alert( GetCellValue(0,9) ); // displays j alert( GetCellValue(1,9) ); // displays J alert( GetCellValue(2,9) ); // displays ÿSau đó, chúng ta đã có thể truy cập chuỗi dữ liệu tương tự như mảng 2 chiều vớitừng ký tự riêng biệt. Và tiếp tục như vậy, chúng ta hoàn toàn làm được việc épcấu trúc mảng 2 chiều vào mảng 1 chiều bằng cách gán thêm chức năng truy cậpdữ liệu đặc biệt. Nhưng đây cũng không phải là cách làm phổ biếntrong JavaScript.Sử dụng mảng của mảng:Trên thực tế, cách sử dụng thường xuyên mảng 2 chiều trong JavaScript là tạomảng 1 chiều, sau đó gán từng đối t ượng bên trong đó với 1 mảng 1 chiều khác.Nếu đi vào việc phân tích cụ thể, chức năng dưới đây là 1 trong những cách đơngiản để tạo và cố định mảng 2 chiều ...
Tìm kiếm theo từ khóa liên quan:
JavaScript các đối tượng trong javascrip biểu thức trong javascript nhập môn javascript biến trong javascri biểu diễn thông tinGợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần Vi xử lý
12 trang 297 0 0 -
GIÁO TRÌNH LẬP TRÌNH WEB_PHẦN 2_BÀI 3
3 trang 103 0 0 -
PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN - CHƯƠNG 5 MÔ HÌNH DỮ LIỆU QUAN NIỆM
11 trang 68 0 0 -
Giáo trình môn học Tin học (Trình độ cao đẳng): Phần 1
182 trang 56 0 0 -
Giáo trình môn học Tin học (Trình độ trung cấp): Phần 1
128 trang 54 0 0 -
Bài giảng Tin học đại cương (Phần 1): Bài 1.1 - Thông tin và tin học
50 trang 41 0 0 -
Tích hợp các cơ sở dữ liệu XML
7 trang 35 0 0 -
Bài giảng Tin học đại cương (Phần 1): Chương 1 - Phạm Đăng Hải
121 trang 34 0 0 -
Tài liệu dạy học môn Tin học (Trình độ: Trung cấp): Phần 1 - Tổng cục Giáo dục nghề nghiệp
175 trang 33 0 0 -
Giáo trình Tin học (Trình độ cao đẳng): Phần 1 - CĐ GTVT Trung ương I
187 trang 31 0 0