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