JavaScript Dizi Döngüleri

Dizi döngü yöntemleri her bir dizge öğesine işlem yapar.

Array.forEach()

forEach() Bu yöntem, her bir dizge öğesine bir kez fonksiyonu (geri çağrı fonksiyonunu) çağırır.

Örnek

var txt = "";
var numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);
function myFunction(value, index, array) {
  txt = txt + value + "<br>"; 
}

Kişisel olarak deneyin

注释:Bu fonksiyon 3 parametre içerir:

  • Proje değeri
  • Proje indeksi
  • Dizi kendisi

Yukarıdaki örnekte sadece value parametresi kullanıldı. Bu örnek yeniden yazılabilir:

Örnek

var txt = "";
var numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);
function myFunction(value) {
  txt = txt + value + "<br>"; 
}

Kişisel olarak deneyin

Tüm tarayıcılar destekler Array.forEach()Internet Explorer 8 veya daha eski sürümler dışında:

Evet 9.0 Evet Evet Evet

Array.map()

map() Bu yöntem, dizideki her bir dizge öğesine fonksiyonu çalıştırarak yeni bir dizge oluşturur.

map() Bu yöntem, değeri içermeyen dizge öğelerine fonksiyonu uygulamaz.

map() Bu yöntem, orijinal diziyi değiştirmez.

Bu örnek, dizideki her bir değerini 2'ye çarpar:

Örnek

var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);
function myFunction(value, index, array) {
  return value * 2;
}

Kişisel olarak deneyin

Lütfen dikkat edin, bu fonksiyon 3 parametre içerir:

  • Proje değeri
  • Proje indeksi
  • Dizi kendisi

Geri çağrı fonksiyonu sadece value parametresini kullanıyorsa, indeks ve dizge parametrelerini atlayabilir:

Örnek

var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);
function myFunction(value) {
  return value * 2;
}

Kişisel olarak deneyin

Tüm tarayıcılar destekler Array.map()Internet Explorer 8 veya daha eski sürümler dışında:

Evet 9.0 Evet Evet Evet

Array.filter()

filter() Bu yöntem, testi geçen dizge öğelerini içeren yeni bir dizge oluşturur.

Bu örnek, 18'den büyük değerleri içeren yeni bir dizge oluşturur:

Örnek

var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

Kişisel olarak deneyin

Lütfen bu fonksiyonun 3 parametre kabul ettiğini unutmayın:

  • Proje değeri
  • Proje indeksi
  • Dizi kendisi

Yukarıdaki örnekte, geri çağrı fonksiyonu index ve array parametrelerini kullanmaz, bu yüzden onları atlayabilir:

Örnek

var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);
function myFunction(value) {
  return value > 18;
}

Kişisel olarak deneyin

Tüm tarayıcılar destekler Array.filter()Internet Explorer 8 veya daha eski sürümler dışında:

Evet 9.0 Evet Evet Evet

Array.reduce()

reduce() Bu yöntem, dizideki her bir dizge öğesine fonksiyonu çalıştırır ve tek bir değeri (onu azaltır) oluşturur.

reduce() Bu yöntem, dizide soldan sağa çalışır. Ayrıca reduceRight()'a bakın.

reduce() Bu yöntem, orijinal diziyi azaltmaz.

Bu örnek, dizideki tüm sayıların toplamını belirler:

Örnek

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);
function myFunction(total, value, index, array) {
  return total + value;
}

Kişisel olarak deneyin

Bu fonksiyon 4 parametre kabul eder:

  • 总数(初始值/先前返回的值)
  • Proje değeri
  • Proje indeksi
  • Dizi kendisi

上例并未使用 index 和 array 参数。可以将它改写为:

Örnek

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);
function myFunction(total, value) {
  return total + value;
}

Kişisel olarak deneyin

reduce() Bu yöntem, bir başlangıç değeri kabul eder:

Örnek

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction, 100);
function myFunction(total, value) {
  return total + value;
}

Kişisel olarak deneyin

Tüm tarayıcılar destekler Array.reduce()Internet Explorer 8 veya daha eski sürümler dışında:

Evet 9.0 Evet Evet Evet

Array.reduceRight()

reduceRight() Bu yöntem, dizideki her bir dizge öğesine fonksiyonu çalıştırır ve tek bir değeri (onu azaltır) oluşturur.

reduceRight() Bu yöntem, dizide sağdan sola çalışır. Ayrıca reduce()'a bakın.

reduceRight() Bu yöntem, orijinal diziyi azaltmaz.

Bu örnek, dizideki tüm sayıların toplamını belirler:

Örnek

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduceRight(myFunction);
function myFunction(total, value, index, array) {
  return total + value;
}

Kişisel olarak deneyin

Bu fonksiyon 4 parametre kabul eder:

  • 总数(初始值/先前返回的值)
  • Proje değeri
  • Proje indeksi
  • Dizi kendisi

上例并未使用 index 和 array 参数。可以将它改写为:

Örnek

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduceRight(myFunction);
function myFunction(total, value) {
  return total + value;
}

Kişisel olarak deneyin

Tüm tarayıcılar destekler Array.reduceRight()Internet Explorer 8 veya daha eski sürümler dışında:

Evet 9.0 Evet Evet Evet

Array.every()

every() 方法检查所有数组值是否通过测试。

这个例子检查所有数组值是否大于 18:

Örnek

var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

Kişisel olarak deneyin

Lütfen bu fonksiyonun 3 parametre kabul ettiğini unutmayın:

  • Proje değeri
  • Proje indeksi
  • Dizi kendisi

如果回调函数仅使用第一个参数(值)时,可以省略其他参数:

Örnek

var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);
function myFunction(value) {
  return value > 18;
}

Kişisel olarak deneyin

Tüm tarayıcılar destekler Array.every()Internet Explorer 8 veya daha eski sürümler dışında:

Evet 9.0 Evet Evet Evet

Array.some()

some() 方法检查某些数组值是否通过了测试。

这个例子检查某些数组值是否大于 18:

Örnek

var numbers = [45, 4, 9, 16, 25];
var someOver18 = numbers.some(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

Kişisel olarak deneyin

Lütfen bu fonksiyonun 3 parametre kabul ettiğini unutmayın:

  • Proje değeri
  • Proje indeksi
  • Dizi kendisi

Tüm tarayıcılar destekler Array.some()Internet Explorer 8 veya daha eski sürümler dışında:

Evet 9.0 Evet Evet Evet

Array.indexOf()

indexOf() 方法在数组中搜索元素值并返回其位置。

注释:第一个项目的位置是 0,第二个项目的位置是 1,以此类推。

Örnek

Dizideki "Apple" öğesini arama:

var fruits = ["Apple", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");

Kişisel olarak deneyin

Tüm tarayıcılar destekler Array.indexOf()Internet Explorer 8 veya daha eski sürümler dışında:

Evet 9.0 Evet Evet Evet

grama

array.indexOf(öğe, start)
öğe Gerekli. Aranacak öğe.
start 可选。从哪里开始搜索。负值将从结尾开始的给定位置开始,并搜索到结尾。

如果未找到项目,Array.indexOf() 返回 -1。

如果项目多次出现,则返回第一次出现的位置。

Array.lastIndexOf()

Array.lastIndexOf() ile Array.indexOf() Benzer, ancak dizinin sonundan başlayarak arama yapar.

Örnek

Dizideki "Apple" öğesini arama:

var fruits = ["Apple", "Orange", "Apple", "Mango"];
var a = fruits.lastIndexOf("Apple");

Kişisel olarak deneyin

Tüm tarayıcılar destekler Array.lastIndexOf()Internet Explorer 8 veya daha eski sürümler dışında:

Evet 9.0 Evet Evet Evet

grama

array.lastIndexOf(öğe, start)
öğe Gerekli. Aranacak öğe.
start İsteğe bağlı. Arama nereden başlanacak. Negatif değerler, sonundan başlayarak belirtilen konumdan başlayacak ve başa doğru arama yapacaktır.

Array.find()

find() Metod, test fonksiyonunu geçiren ilk dizi elemanının değerini döner.

Bu örnek, 18'den büyük ilk elemanın değerini (döner):

Örnek

var numbers = [4, 9, 16, 25, 29];
var first = numbers.find(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

Kişisel olarak deneyin

Lütfen bu fonksiyonun 3 parametre kabul ettiğini unutmayın:

  • Proje değeri
  • Proje indeksi
  • Dizi kendisi

Eski tarayıcılar desteklememektedir Array.find()Aşağıda, bu yöntemi tam olarak destekleyen ilk tarayıcı sürümleri listelenmiştir:

45 12 25 8 32

Array.findIndex()

findIndex() Metod, test fonksiyonunu geçiren ilk dizi elemanının indeksini döner.

Bu örnek, 18'den büyük ilk elemanın indeksini bulur:

Örnek

var numbers = [4, 9, 16, 25, 29];
var first = numbers.findIndex(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

Kişisel olarak deneyin

Lütfen bu fonksiyonun 3 parametre kabul ettiğini unutmayın:

  • Proje değeri
  • Proje indeksi
  • Dizi kendisi

Eski tarayıcılar desteklememektedir Array.findIndex()Aşağıda, bu yöntemi tam olarak destekleyen ilk tarayıcı sürümleri listelenmiştir:

45 12 25 8 32