Öğelerin değiştirilmesi

Eğer test sırasında diziyi güncellerseniz, yeni bir öğe eklerseniz ya da bir öğeyi silerseniz nasıl işleyeceğine dair bir örnek.

Prototürk'e geri dön
// Öğeleri güncellemek
let arr = [1, 2, 3, 4];
let result = arr.every( (elem, index, arr) => {
  arr[index + 2] -= 2; // her test ettiğinde 2 sonraki öğesinin indisini 2 azaltıyoruz
  console.log(`[${arr}][${index}] -> ${elem}`)
  return elem < 2
});

console.log(result);
// Çıktı
// "[1,2,1,4][0] -> 1"
// "[1,2,1,2][1] -> 2"
//  false


// Yeni öğe eklemek
arr = [1, 2, 3];
result = arr.every( (elem, index, arr) => {
  arr.push('new')
  console.log(`[${arr}][${index}] -> ${elem}`)
  return elem < 4
});

console.log(result)
// Çıktı
// "[1,2,3,new][0] -> 1"
// "[1,2,3,new,new][1] -> 2"
// "[1,2,3,new,new,new][2] -> 3"
// true

// Öğeleri silmek
arr = [1, 2, 3, 4];
result = arr.every( (elem, index, arr) => {
  arr.pop()
  console.log(`[${arr}][${index}] -> ${elem}`)
  return elem >= 1 && elem < 3;
});

console.log(result);
// Çıktı
// "[1,2,3][0] -> 1"
// "[1,2][1] -> 2"
// true