Mevcut yanıtların çoğu harika olsa da, burada da dikkate alınması gereken geleneksel bir for döngüsü kullanan bir yanıt eklemek istiyorum. OP, ES5 / ES6 uyumlu bir yanıt ister ve geleneksel for döngüsü geçerlidir :)
Bu senaryoda dizi işlevlerini kullanmanın sorunu, nesneleri değiştirmemeleridir, ancak bu durumda mutasyon bir gerekliliktir. Geleneksel bir for döngüsü kullanmanın performans kazancı sadece (çok büyük) bir bonus.
const findThis = 2;
const items = [{id:1, ...}, {id:2, ...}, {id:3, ...}];
for (let i = 0, l = items.length; i < l; ++i) {
if (items[i].id === findThis) {
items[i].iAmChanged = true;
break;
}
}
Dizi işlevlerinin büyük bir hayranı olsam da, bunların alet kutunuzdaki tek araç olmasına izin vermeyin. Amaç diziyi değiştirmekse, bunlar en uygun olanlar değildir.
item
birid
anahtar içeriyor mu? veyaitem
dizi girişinde nesnenin tüm özelliklerinin yanı sıra id'nin de olmasını ister misiniz ?