8.1 forEach() Metodu
JavaScript-də massivlərin keçid metodları massivlərlə işləmək üçün güclü imkanlar təqdim edir və onların elementləri üzərində müxtəlif əməliyyatlar yerinə yetirməyə imkan verir. Bu mövzuda əsas keçid metodlarını nəzərdən keçirəcəyik, bunlara forEach()
, map()
, filter()
, reduce()
, some()
, every()
, find()
və findIndex()
daxildir.
forEach()
metodu göstərilmiş funksiyanı massivdəki hər element üçün bir dəfə işlədir. Bu metod yeni massiv qaytarmır və dayandırılmır.
Syntax:
array.forEach(function(element, index, array) {
// funksiyanın gövdəsi
});
Nümunə:
forEach()
metodu numbers[]
massivindəki hər elementə keçir və onun indeks və qiymətini çıxarır.
const numbers = [1, 2, 3, 4, 5];
numbers.forEach((number, index) => {
console.log(`İndeks: ${index}, Qiymət: ${number}`);
});
// Çıxış:
// İndeks: 0, Qiymət: 1
// İndeks: 1, Qiymət: 2
// İndeks: 2, Qiymət: 3
// İndeks: 3, Qiymət: 4
// İndeks: 4, Qiymət: 5
8.2 map() Metodu
map()
metodu massivdəki hər element üçün göstərilən funksiyanı çağıraraq yeni massiv yaradır.
Sintaksis:
const newArray = array.map(function(element, index, array) {
// funksiyanın bədəni
return yeni_dəyər;
});
Transformasiya funksiyasını arrow şəklində də yazmaq olar:
const newArray = array.map((element, index, array) => yeni_dəyər);
Nümunə:
map()
metodu numbers[]
massivindəki ədədlərin kvadratlarını saxlayan yeni bir massiv squared[]
yaradır.
const numbers = [1, 2, 3, 4, 5];
const squared = numbers.map(number => number * number);
console.log(squared); // [1, 4, 9, 16, 25]
8.3 filter() Metodu
filter()
metodu, ötürülən funksiyada təyin olunan yoxlamadan keçən bütün elementlərlə yeni bir massiv yaradır.
const newArray = array.filter(function(element, index, array) {
// funksiyanın bədəni
return şərt;
});
Filter funksiyasını ox dəyişəni ilə belə yaza bilərsən:
const newArray = array.filter((element, index, array) => şərt);
Nümunə:
filter()
metodu yeni evenNumbers[]
massivi yaradır, bu massivdə yalnız numbers[]
massivindən cüt ədədlər olacaq.
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter(number => number % 2 === 0);
console.log(evenNumbers); // [2, 4]
8.4 Reduce() Metodu
reduce()
metodu akkumulyator funksiyasını və massivdəki hər bir elementi (soldan sağa) tətbiq edir və onu vahid bir qiymətə gətirir.
Sintaksis:
const result = array.reduce(function(accumulator, current, index, array) {
// funksiyanın gövdəsi
return yeni_akkumulyator_dəyəri;
}, initialValue);
Akkumulyator funksiyasını ox işarəsi ilə də yazmaq olar:
const result = array.reduce((accumulator, current, index, array) =>
yeni_dəyər, initialValue
);
Nümunə:
reduce()
metodu numbers[]
massivini toplamaqla vahid bir nəticəyə gətirir - sum
, yəni massivdəki bütün elementlərin cəmi.
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, number) => acc + number, 0);
console.log(sum); // 15
8.5 some() metodu
some()
metodu, massivdəki elementlərdən heç olmasa birinin ötürülən funksiyada təyin edilmiş şərti ödəniş edib-etmədiyini yoxlayır. Geri qaytarır true
və ya false
.
Sintaksis:
const result = array.some(function(element, index, array) {
// funksiyanın bədəni
return şərt;
});
Yoxlama funksiyasını arrow funksiyası formasında da yaza bilərsiniz:
const result = array.some((element, index, array) => şərt);
Nümunə:
some()
metodu numbers[]
massivində heç olmasa bir cüt rəqəmin olub-olmadığını yoxlayır və true
qaytarır.
const numbers = [1, 2, 3, 4, 5];
const hasEvenNumber = numbers.some(number => number % 2 === 0);
console.log(hasEvenNumber); // true
8.6 every() metodu
every()
metodu yoxlayır ki, massivdəki bütün elementlər ötürülən funksiyada təyin olunan şərtə cavab verirmi. Geri true
və ya false
qaytarır.
Syntax:
const result = array.every(function(element, index, array) {
// funksiyanın bədəni
return şərt;
});
Yoxlama funksiyasını ox şəklində də yazmaq olar:
const result = array.every((element, index, array) => şərt);
Misal:
every()
metodu yoxlayır ki, numbers[]
massivinin bütün elementləri müsbətdirmi və true
qaytarır.
const numbers = [1, 2, 3, 4, 5];
const allPositive = numbers.every(number => number > 0);
console.log(allPositive); // true
8.7 find() Metodu
find()
metodu massivin ilk elementini qaytarır, hansı ki, ötürülən funksiyada müəyyən edilən şərtə uyğun gəlir. Əgər heç bir element şərtə uyğun gəlmirsə, undefined
qaytarır.
Sintaksis:
const result = array.find(function(element, index, array) {
// funksiya gövdəsi
return şərt;
});
Yoxlama funksiyasını ox-funksiya şəklində də yazmaq olar:
const result = array.find((element, index, array) => şərt);
Nümunə:
find()
metodu numbers[]
massivindəki ilk cüt ədədi qaytarır.
const numbers = [1, 2, 3, 4, 5];
const firstEven = numbers.find(number => number % 2 === 0);
console.log(firstEven); // 2
8.8 findIndex() Metodu
findIndex()
metodu massivdəki ilk elementi, verilmiş funksiyada göstərilən şərti ödəyən elementi qaytarır. Əgər heç bir element şərti ödəmir, -1
qaytarır.
Sintaksis:
const result = array.findIndex(function(element, index, array) {
// funksiya bədəni
return şərt;
});
Yoxlayıcı funksiyanı ox işarəsi ilə də yazmaq olar:
const result = array.findIndex((element, index, array) => şərt);
Nümunə:
findIndex()
metodu numbers[]
massivindəki ilk cüt ədədin indeksini qaytarır.
const numbers = [1, 2, 3, 4, 5];
const firstEvenIndex = numbers.findIndex(number => number % 2 === 0);
console.log(firstEvenIndex); // 1
GO TO FULL VERSION