Skip to content

JavaScript Massivda Qidirish (Array Search)

Massiv ichidan kerakli qiymatni yoki uning indeksini topish uchun JavaScript bir nechta qulay metodlarni taqdim etadi.


1. indexOf() va lastIndexOf()

Ushbu metodlar massiv ichidan biror qiymatni qidiradi va uning indeksini (tartib raqamini) qaytaradi.

  • indexOf(qiymat): Qiymat birinchi marta uchragan joy indeksini qaytaradi.
  • lastIndexOf(qiymat): Qiymat oxirgi marta uchragan joy indeksini qaytaradi.

Misol

js
const mevalar = ["Olma", "Apelsin", "Olma", "Mango"];
let birinchi = mevalar.indexOf("Olma"); // 0
let oxirgi = mevalar.lastIndexOf("Olma"); // 2

Agar qidirilayotgan qiymat massivda bo'lmasa, bu metodlar -1 qaytaradi.


2. includes()

ES2016-da qo'shilgan bu metod massivda ma'lum bir qiymat bor yoki yo'qligini tekshiradi va true yoki false qaytaradi.

js
const mevalar = ["Banan", "Apelsin", "Olma"];
console.log(mevalar.includes("Olma")); // true
console.log(mevalar.includes("Kivi")); // false

3. find() va findIndex()

Agar sizga oddiy qiymat emas, balki ma'lum bir shartga javob beradigan (masalan, 18 dan katta bo'lgan birinchi son) element kerak bo'lsa, ushbu metodlardan foydalanasiz:

  • find(): Shartga javob beradigan birinchi elementning o'zini (qiymatini) qaytaradi.
  • findIndex(): Shartga javob beradigan birinchi elementning indeksini qaytaradi.

Misol

js
const sonlar = [4, 9, 16, 25, 29];

// 18 dan katta birinchi sonni topish
let topildi = sonlar.find(x => x > 18); // 25
let index = sonlar.findIndex(x => x > 18); // 3

4. findLast() va findLastIndex()

Bu metodlar ES2023-da qo'shilgan bo'lib, find() va findIndex() kabi ishlaydi, lekin qidirishni massivning oxiridan boshlaydi.

js
const temperaturalar = [27, 28, 30, 40, 42, 35, 30];

// Oxiridan boshlab 40 dan katta birinchi sonni topish
let oxirgiYuqori = temperaturalar.findLast(x => x > 40); // 42

Xulosa

Qidiruv metodini tanlashda maqsadga qarang:

  • Shunchaki indeks kerak bo'lsa: indexOf()
  • Bor yoki yo'qligini bilish uchun: includes()
  • Murakkab shart bo'yicha topish uchun: find() yoki findIndex()
  • Oxiridan qidirish uchun: lastIndexOf(), findLast()