Rumah  >  Artikel  >  hujung hadapan web  >  Tatasusunan JavaScript menentukan sama ada ia mengandungi

Tatasusunan JavaScript menentukan sama ada ia mengandungi

WBOY
WBOYasal
2023-05-16 11:02:071806semak imbas

Dalam JavaScript, tatasusunan ialah struktur data yang sangat biasa yang boleh menyimpan berbilang nilai dan boleh dimanipulasi menggunakan pelbagai kaedah tatasusunan. Dalam pembangunan sebenar, kita sering perlu mencari sama ada tatasusunan mengandungi nilai tertentu Artikel ini akan memperkenalkan cara untuk menentukan sama ada tatasusunan mengandungi nilai tertentu dalam JavaScript.

Kaedah 1: Gunakan fungsi indexOf()

Fungsi indexOf() ialah fungsi terbina dalam yang disediakan oleh tatasusunan JavaScript, yang boleh digunakan untuk mencari kedudukan nilai tertentu dalam tatasusunan. Apabila nilai dicari, fungsi mengembalikan kedudukan indeks nilai dalam tatasusunan. Jika nilai tiada dalam tatasusunan, -1 dikembalikan.

Oleh itu, kita boleh menggunakan fungsi indexOf() untuk menentukan sama ada tatasusunan mengandungi nilai tertentu. Pelaksanaan khusus adalah seperti berikut:

let arr = [1, 2, 3, 4, 5];
let target = 3;
if (arr.indexOf(target) !== -1) {
  console.log("数组包含" + target);
} else {
  console.log("数组不包含" + target);
}

Dalam kod di atas, jika array arr mengandungi elemen dengan nilai 3, maka "array mengandungi 3" akan menjadi output, jika tidak "array tidak mengandungi 3" akan menjadi output.

Perlu diambil perhatian bahawa nilai indeks yang dikembalikan oleh fungsi indexOf() bermula dari 0. Oleh itu, apabila menggunakan fungsi indexOf(), jika anda perlu menentukan sama ada ia mengandungi elemen, anda perlu menentukan sama ada ia sama dengan -1. Di samping itu, apabila menggunakan fungsi ini, anda perlu memberi perhatian kepada pemadanan jenis data Jika anda ingin mencari rentetan, anda perlu menggunakan pengendali kesaksamaan yang ketat (===), seperti yang ditunjukkan dalam kod berikut:

let arr = ["apple", "banana", "orange"];
let target = "banana";
if (arr.indexOf(target) !== -1) {
  console.log("数组包含" + target);
} else {
  console.log("数组不包含" + target);
}

Dalam kod di atas, Kami menukar kandungan dalam tatasusunan kepada rentetan, dan sasaran carian juga ialah rentetan. Jika anda menggunakan operator "==" semasa penghakiman, anda akan mendapat keputusan yang salah.

Kaedah 2: Gunakan fungsi includes()

Fungsi includes() ialah satu lagi fungsi terbina dalam yang disediakan oleh tatasusunan JavaScript Ia boleh digunakan untuk menentukan sama ada tatasusunan mengandungi elemen tertentu . Nilai pulangan fungsi includes() ialah nilai Boolean Jika elemen disertakan dalam tatasusunan, ia akan mengembalikan benar, jika tidak ia mengembalikan palsu.

Kita boleh menggunakan fungsi includes() untuk menentukan sama ada tatasusunan mengandungi nilai tertentu. Pelaksanaan khusus adalah seperti berikut:

let arr = [1, 2, 3, 4, 5];
let target = 3;
if (arr.includes(target)) {
  console.log("数组包含" + target);
} else {
  console.log("数组不包含" + target);
}

Dalam kod di atas, jika array arr mengandungi elemen dengan nilai 3, maka "array mengandungi 3" akan menjadi output, jika tidak "array tidak mengandungi 3" akan menjadi output.

Perlu diambil perhatian bahawa nilai pulangan bagi fungsi includes() adalah benar atau palsu dan tidak mengembalikan nilai indeks elemen dalam tatasusunan. Di samping itu, apabila menggunakan fungsi ini, anda perlu memberi perhatian kepada pemadanan jenis data Jika anda ingin mencari rentetan, anda perlu menggunakan pengendali kesaksamaan yang ketat (===), seperti yang ditunjukkan dalam kod berikut:

let arr = ["apple", "banana", "orange"];
let target = "banana";
if (arr.includes(target)) {
  console.log("数组包含" + target);
} else {
  console.log("数组不包含" + target);
}

Kaedah 3: Gunakan fungsi find() ES6

Dalam ES6, tatasusunan JavaScript menyediakan fungsi find() baharu, yang boleh digunakan untuk mencari elemen dalam tatasusunan yang memenuhi syarat tertentu. Parameter fungsi find() ialah fungsi panggil balik, yang boleh menerima tiga parameter: nilai elemen, indeks elemen dan tatasusunan itu sendiri. Fungsi panggil balik perlu mengembalikan nilai Boolean Jika ia benar, ini bermakna elemen yang memenuhi syarat telah ditemui dan fungsi find() akan mengembalikan elemen tersebut. Jika fungsi panggil balik kembali palsu, teruskan mencari.

Kita boleh menggunakan fungsi find() untuk menentukan sama ada tatasusunan mengandungi nilai tertentu. Pelaksanaan khusus adalah seperti berikut:

let arr = [1, 2, 3, 4, 5];
let target = 3;
if (arr.find(item => item === target)) {
  console.log("数组包含" + target);
} else {
  console.log("数组不包含" + target);
}

Dalam kod di atas, kami menggunakan fungsi anak panah untuk melaksanakan fungsi panggil balik. Parameter fungsi anak panah ialah item, dan item kod === sasaran menunjukkan sama ada elemen sasaran ditemui. Jika array arr mengandungi elemen dengan nilai 3, ia akan mengeluarkan "array mengandungi 3", jika tidak ia akan mengeluarkan "array tidak mengandungi 3".

Perlu diambil perhatian bahawa fungsi find() mengembalikan elemen yang ditemui Jika ia tidak dijumpai, ia mengembalikan tidak ditentukan. Di samping itu, apabila menggunakan fungsi ini, anda perlu memberi perhatian kepada sintaks fungsi panggil balik Jika fungsi panggil balik tidak kembali atau mengembalikan palsu, elemen pertama yang tidak ditentukan akan ditemui, yang mungkin membawa kepada keputusan yang salah.

Ringkasan

Di atas memperkenalkan tiga kaedah untuk menentukan sama ada tatasusunan JavaScript mengandungi nilai tertentu: fungsi indexOf() , fungsi include() dan fungsi find() ES6. Setiap daripada tiga kaedah ini mempunyai kelebihan dan kekurangannya sendiri, dan anda perlu memilih kaedah yang sesuai mengikut situasi sebenar. Di samping itu, anda perlu memberi perhatian kepada pemadanan jenis data dan sintaks fungsi panggil balik apabila menggunakannya.

Atas ialah kandungan terperinci Tatasusunan JavaScript menentukan sama ada ia mengandungi. 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