Rumah  >  Artikel  >  hujung hadapan web  >  Bila hendak menggunakan if-else, suis-case atau fungsi seperti Array.prototype.includes() atau Array.prototype.find()

Bila hendak menggunakan if-else, suis-case atau fungsi seperti Array.prototype.includes() atau Array.prototype.find()

Barbara Streisand
Barbara Streisandasal
2024-09-27 18:38:301104semak imbas

When to use if-else, switch-case, or functions like Array.prototype.includes() or Array.prototype.find()

Dalam JavaScript, memilih antara if-else, suis-case atau fungsi seperti Array.prototype.includes() atau Array.prototype.find() bergantung pada kes penggunaan tertentu, kebolehbacaan, prestasi dan jenis keadaan yang anda kendalikan. Di bawah ialah perbandingan binaan ini, bersama-sama dengan cadangan masa untuk menggunakan setiap binaan.

1. jika-lain:
Tujuan: Menilai jujukan syarat dan melaksanakan kod berdasarkan sama ada sesuatu syarat itu benar atau salah.
Gelagat: Setiap syarat disemak mengikut turutan dan syarat padanan pertama dilaksanakan.
Kes penggunaan: Paling sesuai untuk mengendalikan logik boolean, semakan julat atau keadaan kompleks.
Contoh:

let age = 25;

if (age < 18) {
    console.log('Too young');
} else if (age >= 18 && age <= 65) {
    console.log('Eligible for work');
} else {
    console.log('Retired');
}

Bila hendak digunakan:
Keadaan kompleks atau berbilang: Gunakan if-else apabila anda perlu menyemak keadaan yang lebih kompleks atau tidak diskret, seperti gabungan logik, julat atau penilaian dinamik.
Bilangan syarat yang kecil: Sesuai untuk situasi yang hanya terdapat beberapa syarat untuk dinilai.
Penilaian keadaan fleksibel: if-else membolehkan anda menggabungkan operator logik (&&, ||, dsb.) untuk semakan yang lebih kompleks.

2. sarung suis:
Tujuan: Membandingkan satu ungkapan (selalunya pembolehubah atau nilai) dengan berbilang kes yang mungkin.
Kelakuan: Ungkapan dinilai sekali, dan blok kes yang sepadan dilaksanakan. Jika tiada kes sepadan, blok lalai akan dijalankan.
Kes penggunaan: Paling sesuai untuk nilai diskret atau terhitung di mana berbilang kes perlu dinilai.
Contoh:

let day = 'Monday';

switch (day) {
    case 'Monday':
        console.log('Start of the week');
        break;
    case 'Wednesday':
        console.log('Midweek');
        break;
    case 'Friday':
        console.log('Almost weekend');
        break;
    default:
        console.log('Unknown day');
}

Bila hendak digunakan:
Nilai diskret: Gunakan kotak suis apabila anda mempunyai pembolehubah tunggal yang boleh mengambil salah satu daripada bilangan terhad nilai yang diketahui (mis., enum, pemalar atau keadaan).
Banyak nilai yang mungkin: Ia sesuai apabila anda mempunyai beberapa kes khusus untuk dikendalikan.
Kebolehbacaan: suis-case menjadikan kod lebih mudah dibaca daripada menggunakan berbilang if-else untuk nilai diskret.

3. Fungsi seperti include() dan find():
Tujuan: Digunakan untuk menyemak kewujudan nilai dalam tatasusunan (termasuk()) atau untuk mencari objek/nilai dalam tatasusunan (cari()).
Gelagat: Fungsi ini beroperasi pada tatasusunan, mengembalikan boolean (termasuk) atau nilai yang ditemui (cari).
Kes penggunaan: Paling sesuai untuk semakan berasaskan tatasusunan, seperti mencari sama ada nilai terdapat dalam senarai atau tatasusunan objek.

Contoh termasuk():

const fruits = ['apple', 'banana', 'cherry'];

if (fruits.includes('banana')) {
    console.log('We have bananas!');
} else {
    console.log('No bananas here');
}

Contoh find():

const users = [
    { id: 1, name: 'Alice' },
    { id: 2, name: 'Bob' },
];

const user = users.find(user => user.id === 2);
console.log(user);  // Output: { id: 2, name: 'Bob' }

Bila hendak digunakan:

Pencarian tatasusunan: Gunakan termasuk() apabila anda ingin menyemak sama ada nilai wujud dalam tatasusunan.
Mencari objek dalam tatasusunan: Gunakan find() apabila mencari objek dalam tatasusunan objek berdasarkan keadaan tertentu.
Ujian keahlian yang cekap: Kaedah ini amat berkesan apabila anda perlu menyemak kehadiran item dalam set data (tatasusunan) yang besar.

Atas ialah kandungan terperinci Bila hendak menggunakan if-else, suis-case atau fungsi seperti Array.prototype.includes() atau Array.prototype.find(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn