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.
// Öğ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