Menu
CoddyTech

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  9

Telusuri 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 12

elemen batas: 1, 2, 3, 4, 8, 12, 11, 10, 9, 5 (semua kecuali 6 dan 7)

challenge icon

Tantangan

Mudah

Buat fungsi bernama printPatterns yang menerima array 2D persegi berisi bilangan bulat (matrix) sebagai input dan mencetak pola berikut:

  1. Diagonal Utama: Cetak semua elemen dengan indeks baris yang sama dengan indeks kolom.
  2. Diagonal Antidiagonal: Cetak semua elemen yang jumlah indeks baris dan kolomnya sama dengan ukuran matrix dikurangi 1.
  3. 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 16

Coba 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 fungsi
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler JavaScript online