Kesetaraan String di JavaScript – Cara Membandingkan String di JS
Best Koding.com
| Kesetaraan String di JavaScript – Cara Membandingkan String di JS
- Saat menulis kode atau membuat solusi, Anda mungkin perlu membandingkan
dua string untuk melihat apakah keduanya sama sebelum melanjutkan dengan
operasi.
Misalnya, saat pengguna masuk, Anda ingin membandingkan
nama pengguna yang diberikan dengan yang ada di database Anda untuk melihat
apakah cocok.
Kesetaraan String di JavaScript – Cara Membandingkan String di JS |
Dalam JavaScript, Anda dapat membandingkan string berdasarkan nilainya, panjang, kapitalisasi karakter, dan banyak lagi. Pada artikel ini, Anda akan mempelajari cara membandingkan string dalam JavaScript.
Table of Contents
Cara Membandingkan String di JavaScript Dengan Strict Equality Operator
Kesetaraan ketat, atau tiga persamaan ( ===) seperti yang disiratkan oleh simbolnya, adalah perbandingan yang lebih rinci daripada persamaan longgar ( ==). Itu tidak hanya memeriksa apakah nilainya sama, tetapi juga memeriksa operan:
let a = 12;
let b = '12';
// Loose Equality
console.log(a == b); // true
// Strict Equality
console.log(a === b); // false
Operator strict paling baik digunakan untuk membandingkan string dalam JavaScript karena memeriksa untuk memastikan bahwa operan dan nilai sama dan kemudian mengembalikan hasil boolean.
let string1 = "freeCodeCamp";
console.log(string1 === "codeCamp"); // false
console.log(string1 === "freeCodeCamp"); // true
console.log("codeCamp" === "freeCodeCamp"); // false
Anda juga dapat langsung membandingkan string dengan variabel dan string dengan string jika diinginkan:
Cara Melakukan Perbandingan Case Insensitive
Saat membandingkan dengan operator persamaan ketat, penting untuk diketahui bahwa perbandingan ini peka huruf besar-kecil. Artinya freeCodeCamp tidak sama dengan FreeCodeCamp karena huruf pertama f adalah huruf kecil untuk yang satu dan huruf besar untuk yang lainnya.
console.log("freeCodeCamp" === "FreeCodeCamp"); // false
Untuk menghindari situasi seperti ini, Anda dapat melakukan perbandingan case-insensitive. Ini berarti Anda mengonversi string yang Anda bandingkan dengan kasus yang sama:
let string1 = "freeCodeCamp";
let string2 = "FreeCodeCamp";
console.log(string1.toLowerCase() == string2.toLowerCase()); // true
console.log(string1.toUpperCase() == string2.toUpperCase()); // true
Cara Membandingkan String di JavaScript dengan .lengthProperty
Dalam JavaScript, saat Anda melampirkan .length properti ke variabel, ia mengembalikan panjang string:
let string1 = "freeCodeCamp";
console.log(string1.length); // 12
Ini berarti Anda dapat menggunakan properti length untuk membandingkan di samping persamaan (longgar atau ketat), lebih besar dari (>), atau kurang dari (operator) untuk memeriksa apakah kedua panjangnya sama atau jika salah satu lebih panjang dari yang lain.
let string1 = "freeCodeCamp";
let string2 = "codeCamp";
console.log(string1.length > string2.length); // true
console.log(string1.length < string2.length); // false
console.log(string1.length == string2.length); // false
console.log(string1.length === string2.length); // false
Cara Membandingkan String di JavaScript Dengan localeCompare() Metode
Metode localeCompare() ini dapat membandingkan string berdasarkan lokal saat ini di pengaturan browser.
Metode ini bisa sangat rumit, tetapi penting untuk diketahui bahwa metode ini membandingkan setiap karakter dari kedua string dan mengembalikan angka yang dapat berupa "-1", "1", atau "0".
- -1: String sisi kiri menurut abjad muncul sebelum string sisi kanan.
- 1: String sisi kiri menurut abjad muncul setelah string sisi kanan.
- 0: Ini berarti kedua string sama.
let string1 = "freeCodeCamp";
let string2 = "codeCamp";
console.log(string1.localeCompare(string2)); // 1
Ini mengembalikan "1" karena "f" muncul setelah "c" dalam perbandingan karakter pertama.
let string1 = "freeCodeCamp";
let string2 = "codeCamp";
console.log(string2.localeCompare(string1)); // -1
Ini sekarang mengembalikan "-1" karena "c" yang merupakan karakter
pertama string2 di sisi kiri muncul sebelum "f". Ketika kedua string sama, ia
mengembalikan "0" terlepas dari posisinya:
let string1 = "freeCodeCamp";
let string2 = "freeCodeCamp";
console.log(string2.localeCompare(string1)); // 0
Cara Melakukan Perbandingan Case Insensitive
Penting juga untuk menyadari bahwa ketika Anda menggunakan metode localeCompare() ini, peka terhadap huruf besar-kecil. Ini berarti bahwa itu akan mengembalikan "1" atau "-1" tergantung pada posisinya, meskipun kedua string sama tetapi dengan case yang berbeda:
let string1 = "freeCodeCamp";
let string2 = "FreeCodeCamp";
console.log(string2.localeCompare(string1)); // 1
Anda dapat memperbaikinya dengan memperkenalkan opsi dan lokal ke localeCompare() metode. Metode ini memungkinkan Anda menyetel lokal dan juga opsi yang dapat Anda gunakan untuk mengonversi kedua string ke kasus serupa, sehingga Anda melakukan perbandingan yang tidak sensitif huruf.
let string1 = "freeCodeCamp";
let string2 = "FreeCodeCamp";
console.log(string2.localeCompare(string1, "en", { sensitivity: "base" })); // 0
Anda dapat membaca selengkapnya tentang metode localeCompare() di dokumentasi MDN.
Post a Comment