อาร์เรย์สองมิติ (2D Array) คือ อาร์เรย์ที่แต่ละสมาชิกก็เป็นอาร์เรย์อีกทีหนึ่ง เข้าถึงข้อมูลด้วย array[row][col] เช่น myArray[0][0], myArray[0][1] เป็นต้น
ตัวอย่าง
<html>
<body>
<script>
var myArray = new Array(3);
for (var i = 0; i < 3; i++) {
myArray[i] = new Array(3);
}
myArray[0][0] = "One";
myArray[0][1] = "Two";
myArray[0][2] = "Three";
myArray[1][0] = "Four";
myArray[1][1] = "Five";
myArray[1][2] = "Six";
myArray[2][0] = "Seven";
myArray[2][1] = "Eight";
myArray[2][2] = "Nine";
document.write(myArray[2][0]); // แสดง "Seven"
</script>
</body>
</html>
ผลลัพธ์
Seven
วิธีเขียนสั้นกว่า (Array Literal)
// กำหนดค่าโดยตรง
var myArray = [
["One", "Two", "Three"],
["Four", "Five", "Six"],
["Seven", "Eight", "Nine"]
];
// หรือสร้างด้วยฟังก์ชัน
function create2DArray(rows, cols, defaultValue) {
return Array.from({ length: rows }, () => Array(cols).fill(defaultValue));
}
var grid = create2DArray(3, 3, 0);
การเข้าถึงและวนลูป
// เข้าถึง
console.log(myArray[1][2]); // "Six"
// วนลูป
for (var i = 0; i < myArray.length; i++) {
for (var j = 0; j < myArray[i].length; j++) {
console.log("Row " + i + ", Col " + j + ": " + myArray[i][j]);
}
}
การประยุกต์: ใช้สำหรับตาราง, กริดเกม, เมทริกซ์, ตารางข้อมูลต่างๆ