Pendekatan terbaik saya adalah:
var item = {...}
var items = [{id:2}, {id:2}, {id:2}];
items[items.findIndex(el => el.id === item.id)] = item;
Referensi untuk findIndex
Dan jika Anda tidak ingin mengganti dengan objek baru, tetapi alih-alih menyalin bidang item, Anda dapat menggunakan Object.assign:
Object.assign(items[items.findIndex(el => el.id === item.id)], item)
sebagai alternatif dengan .map():
Object.assign(items, items.map(el => el.id === item.id? item : el))
Pendekatan fungsional :
Jangan memodifikasi array, gunakan yang baru, jadi Anda tidak menghasilkan efek samping
const updatedItems = items.map(el => el.id === item.id ? item : el)
itemberisiidkunci? atau apakah Anda keberatan memiliki id serta semua properti dariitemobjek dalam entri array?