Cara menggunakan METRHOD di JavaScript

Membalikkan string adalah salah satu pertanyaan JavaScript yang paling sering diajukan selama wawancara teknis. Pewawancara mungkin meminta Anda untuk menulis cara berbeda untuk membalikkan string, atau mereka mungkin meminta Anda untuk membalikkan string tanpa menggunakan metode bawaan, atau mereka bahkan mungkin meminta Anda untuk membalikkan string menggunakan rekursi

Mungkin ada lusinan cara berbeda untuk melakukannya, tidak termasuk fungsi balik bawaan, karena JavaScript tidak memilikinya

Di bawah ini adalah tiga cara saya yang paling menarik untuk menyelesaikan pertanyaan tentang membalikkan string dalam JavaScript

Tantangan Algoritma

Anda mungkin perlu mengonversi string menjadi larik sebelum membalikkannya
Hasil Anda harus berupa string
function reverseString(str) {
    return str;
}
reverseString("hello");

Test Case berupa

  • reverseString("halo") harus "olleh"
  • reverseString(“Howdy”) harus “ydwoH”
  • reverseString("Salam dari Bumi") harus mengembalikan "htraE morph sgniteerG"

1. Mengembalikan String dengan Fungsi Bawaan

Untuk solusi ini, kami akan menggunakan tiga metode. Metode string. prototipe. split(), metode Array. prototipe. reverse() dan metode Array. prototipe. bergabung()

  • Metode split() membagi objek String menjadi array string dengan memisahkan string menjadi sub-string
  • Reverse() metode membalikkan array di tempat. Elemen array pertama menjadi yang terakhir dan yang terakhir menjadi yang pertama
  • Metode join() menggabungkan semua elemen array menjadi sebuah string
function reverseString(str) {
    // Step 1. Gunakan method split() untuk mengembalikan sebuah array baru
    var splitString = str.split(""); // var splitString = "hello".split("");
    // ["h", "e", "l", "l", "o"]
 
    // Step 2. Gunakan method reverse() untuk membalikkan array yang baru saja dibuat
    var reverseArray = splitString.reverse(); // var reverseArray = ["h", "e", "l", "l", "o"].reverse();
    // ["o", "l", "l", "e", "h"]
 
    // Step 3. Gunakan method join() untuk menggabungkan semua elemen dari array menjadi sebuah string
    var joinArray = reverseArray.join(""); // var joinArray = ["o", "l", "l", "e", "h"].join("");
    // "olleh"
    
    //Step 4. Mengembalikan string yang sudah dibalik
    return joinArray; // "olleh"
}
 
reverseString("hello");
_

Gabungkan ketiga metode secara bersamaan

function reverseString(str) {
    return str.split("").reverse().join("");
}
reverseString("hello");

2. Membalikkan String Dengan Pengurangan For Loop

function reverseString(str) {
    // Step 1. Buat string kosong yang akan menampung string yang baru dibuat
    var newString = "";
 
    // Step 2. Buat FOR loop
    /* Poin awal loop adalah (str.length - 1) yang sesuai dengan
       karakter terakhir dari string, "o"
       Selama i lebih besar dari atau sama dengan 0, loop akan terus 			   berlanjut
       Kita mengurangi i setelah setiap iterasi */
    for (var i = str.length - 1; i >= 0; i--) { 
        newString += str[i]; // atau newString = newString + str[i];
    }
    /* Di sini panjang hello sama dengan 5
        Untuk setiap iterasi: i = str.length - 1 dan newString = newString + str[i]
        Iterasi pertama:    i = 5 - 1 = 4,         	newString = "" + "o" = "o"
        Iterasi kedua:   	i = 4 - 1 = 3,         	newString = "o" + "l" = "ol"
        Iterasi ketiga:    	i = 3 - 1 = 2,         	newString = "ol" + "l" = "oll"
        Iterasi keempat:   	i = 2 - 1 = 1,         	newString = "oll" + "e" = "olle"
        Iterasi kelima:    	i = 1 - 1 = 0,         	newString = "olle" + "h" = "olleh"
    Akhir dari FOR Loop*/
 
    // Step 3. Mengembalikan string yang sudah dibalik
    return newString; // "olleh"
}
 
reverseString('hello');

Tidak ada komentar

function reverseString(str) {
    var newString = "";
    for (var i = str.length - 1; i >= 0; i--) {
        newString += str[i];
    }
    return newString;
}
reverseString('hello');
_

3. Membalikkan String Dengan Rekursi

Untuk solusi ini, kami akan menggunakan dua metode. Metode string. prototipe. substr() dan metode String. prototipe. charAt()

  • Metode substr() mengembalikan karakter dalam string mulai dari lokasi yang ditentukan hingga jumlah karakter yang ditentukan
"hello".substr(1); // "ello"
  • Metode charAt() mengembalikan karakter yang ditentukan dari sebuah string
"hello".charAt(0); // "h"
_

Kedalaman rekursi sama dengan panjang String. Solusi ini bukan yang terbaik dan akan sangat lambat jika String sangat panjang dan ukuran tumpukan menjadi perhatian utama

function reverseString(str) {
  if (str === "") // Ini adalah kasus terakhir yang akan mengakhiri rekursi
    return "";
  
  else
    return reverseString(str.substr(1)) + str.charAt(0);
/* 
Bagian Pertama dari metode rekursi
Anda harus ingat bahwa Anda tidak hanya memiliki satu panggilan, Anda akan memiliki beberapa panggilan yang bersarang

Setiap panggilan: str === "?" reverseString(str.subst(1)) + str.charAt(0)
Panggilan ke-1 – reverseString("Hello")   akan mengembalikan   reverseString("ello")           + "h"
Panggilan ke-2 – reverseString("ello")    akan mengembalikan   reverseString("llo")            + "e"
Panggilan ke-3 – reverseString("llo")     akan mengembalikan   reverseString("lo")             + "l"
Panggilan ke-4 – reverseString("lo")      akan mengembalikan   reverseString("o")              + "l"
Panggilan ke-5 – reverseString("o")       akan mengembalikan   reverseString("")               + "o"

Bagian kedua dari metode rekursi
Metode ini mencapai kondisi if dan panggilan yang paling dalam segera dikembalikan

Panggilan ke-5 akan memngembalikan reverseString("") + "o" = "o"
Panggilan ke-4 akan memngembalikan reverseString("o") + "l" = "o" + "l"
Panggilan ke-3 akan memngembalikan reverseString("lo") + "l" = "o" + "l" + "l"
Panggilan ke-2 akan memngembalikan reverserString("llo") + "e" = "o" + "l" + "l" + "e"
Panggilan ke-1 akan memngembalikan reverserString("ello") + "h" = "o" + "l" + "l" + "e" + "h" 
*/
}
reverseString("hello");

Tidak ada komentar

function reverseString(str) {
  if (str === "")
    return "";
  else
    return reverseString(str.substr(1)) + str.charAt(0);
}
reverseString("hello");
_

Operator Bersyarat (Terner)

function reverseString(str) {
  return (str === '') ? '' : reverseString(str.substr(1)) + str.charAt(0);
}
reverseString("hello");
_

Membalikkan String dalam JavaScript adalah algoritme sederhana yang dapat ditanyakan selama penyaringan telepon teknis atau wawancara teknis. Anda dapat mengambil jalan pintas dalam menyelesaikan masalah ini, atau melakukan pendekatan dengan menyelesaikannya dengan rekursi atau bahkan solusi yang lebih kompleks

Jika Anda memiliki solusi atau saran sendiri, bagikan di bawah ini di komentar

Atau Anda dapat mengikuti saya di Medium, Twitter, Github, dan LinkedIn, tepat setelah Anda mengeklik hati hijau di bawah;

Sumber daya

  • metode split() — MDN
  • membalikkan () metode — MDN
  • bergabung() metode — MDN
  • Rangkaian. panjang — MDN
  • metode substr() — MDN
  • metode charAt() — MDN

IKLAN

IKLAN

IKLAN


Cara menggunakan METRHOD di JavaScript
Pengarang. Sonya Moisset (Inggris)

🛡️ Melakukan hal-hal Cybersecurity. 🌟 Bintang GitHub. 💻 Wanita Epik di Cyber/Tek. 👩‍🎤 Duta GirlCode. 🥑 Advokat Keamanan DevSecOps/Cloud

christine phandi
Penerjemah. christine phandi

Baca lebih banyak posting


Jika Anda membaca sejauh ini, tweet ke penulis untuk menunjukkan bahwa Anda peduli. Tweet terima kasih

Belajar kode secara gratis. Kurikulum open source freeCodeCamp telah membantu lebih dari 40.000 orang mendapatkan pekerjaan sebagai pengembang. Memulai

Apa itu metode dalam javascript?

Metode — metode ini digunakan untuk manipulasi array, seperti menambahkan item baru, menghapus, dan seterusnya .

Apa itu javascript onclick?

onclick adalah atribut HTML untuk menentukan tindakan saat peristiwa klik pada suatu elemen . Atribut ini dapat diisi dengan nama fungsi atau ekspresi javascript. Selain event onclick, ada juga event lainnya seperti onchange, onmouseover, onkeyup, onload, dll.

Bagaimana cara memanggil fungsi dengan nama myFunction di javascript?

Fungsi dapat dipanggil dengan menyebutkan nama fungsi dan memberikan nilai parameter. .
function myFunction(a, b) { return a * b;
function myFunction(a, b) { return a * b; . .
var x = Fungsisaya();

Apa itu kelas dalam javascript?

Dalam paradigma Pemrograman Berorientasi Objek (OOP), kelas adalah cetak biru yang dapat dikembangkan untuk membuat objek . Cetak biru ini adalah template yang menjelaskan apa perilaku objek (dalam bentuk properti atau metode).