Pola Umum Array 2D
Termasuk bagian Logika dan Alur dalam perjalanan JavaScript di Coddy. Pelajaran 13 dari 65.
Pola tertentu sering muncul saat bekerja dengan array 2D. Mengenali pola-pola ini dapat membantumu menyelesaikan masalah dengan lebih efisien. Berikut beberapa pola yang umum:
Penelusuran Diagonal
Mengakses elemen yang indeks barisnya sama dengan indeks kolomnya (matrix[i][i]) akan menghasilkan diagonal utama. Untuk diagonal anti, jumlah indeks baris dan kolom sama dengan ukuran array dikurangi 1 (matrix[i][size - 1 - i]).
Contoh:
1 2 3
4 5 6
7 8 9Telusuri diagonal utama (matrix[i][i]): 1, 5, 9
Telusuri diagonal antidiagonal (matrix[i][size - 1 - i]): 3, 5, 7
Penelusuran Batas
Untuk menelusuri elemen batas, kamu menjaga satu indeks tetap konstan (0 atau size - 1) sambil melakukan iterasi pada indeks lainnya.
Untuk mengakses batas atas, kamu melakukan perulangan pada kolom dengan indeks baris tetap di 0.
Contoh:
1 2 3 4
5 6 7 8
9 10 11 12elemen batas: 1, 2, 3, 4, 8, 12, 11, 10, 9, 5 (semua kecuali 6 dan 7)
Tantangan
MudahBuat fungsi bernama printPatterns yang menerima array 2D persegi berisi bilangan bulat (matrix) sebagai input dan mencetak pola berikut:
- Diagonal Utama: Cetak semua elemen dengan indeks baris yang sama dengan indeks kolom.
- Diagonal Antidiagonal: Cetak semua elemen yang jumlah indeks baris dan kolomnya sama dengan ukuran matrix dikurangi 1.
- Batas: Cetak elemen pada batas atas, bawah, kiri, dan kanan matrix.
Outputnya akan terlihat seperti ini:
Main Diagonal: 1 6 11 16
Anti-Diagonal: 4 7 10 13
Top Border: 1 2 3 4
Bottom Border: 13 14 15 16
Left Border: 1 5 9 13
Right Border: 4 8 12 16Coba sendiri
function printPatterns(matrix) {
let mainDiagonal = []
// TODO: Implementasikan
console.log("Main Diagonal:", mainDiagonal.join(" "));
let antiDiagonal = [];
// TODO: Implementasikan
console.log("Anti-Diagonal:", antiDiagonal.join(" "));
let topBorder = [];
// TODO: Implementasikan
console.log("Top Border:", topBorder.join(" "));
let bottomBorder = [];
// TODO: Implementasikan
console.log("Bottom Border:", bottomBorder.join(" "));
let leftBorder = [];
// TODO: Implementasikan
console.log("Left Border:", leftBorder.join(" "));
let rightBorder = [];
// TODO: Implementasikan
console.log("Right Border:", rightBorder.join(" "));
}
// Jangan tulis apa pun di luar fungsiPelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Mendalami string
Dasar-dasar stringIterasi pada stringTemplate LiteralsMethod stringRangkuman: Perangkai string4JSON Bagian 2
Menelusuri JSONJSON BersarangOptional Chaining pada JSONSalinan Dangkal dan MendalamUlasan: Toko SepedaUlasan: Tata Surya7Sistem Manajemen Perpustakaan
Ikhtisar ProyekMenambahkan Buku2Array Multidimensi
Dasar-Dasar Array 2DMengakses Elemen Array 2DLoop Bersarang dengan Array 2DRingkasan: Array 2DPenjumlahan dan Pengurangan MatriksArray BergerigiArray 3D dan SeterusnyaPola Umum Array 2DRingkasan: Semua tentang Array5set Bagian 1
Apa Itu set?Melakukan Perulangan pada setMenambahkan ElemenMenghapus ElemenMemeriksa Apakah Elemen AdaUkuran dan Apakah KosongMenyalin dan MengosongkanRangkuman: Dasar-Dasar set8Topik Menarik tentang array
Membongkar arraySintaks spread pada arrayArray renggangRekap: Lokakarya arrayLatihan sendiri: Compiler JavaScript online