v2.5.2
Giriş yap

js arraydaki değeri yenileme hakkında

memdhaci
427 defa görüntülendi ve 2 kişi tarafından değerlendirildi

benim böyle bi kodum var arraydeki testName leri foreach ile alıp li etiketiyle ekrana yazdırıyom

let testNames = [ {testName: 'test'}, {testName: 'test2'} ];

const container = document.getElementById('container');
let a;
testNames.forEach(function(x){
    a = document.createElement('li')
    a.classList.add('li-item')
  
    a.innerHTML += `<p>${x.testName}</p>`;
    container.appendChild(a)
})

daha sonra bu kod ile arraydeki değeri değiştiriyorum

testNames[0].testName = 'name changed';

arraydadaki değer değişiyor ama ekranda yazan değişmiyor, bunu yeni değer ile ekrana yazdırmak için ne yapmalıyım?

trsherlock
867 gün önce
let testNames = [ {testName: 'test'}, {testName: 'test2'} ];
function createElement(testNames) {
const container = document.getElementById('container');

testNames.forEach(function(x){
let li;
    li = document.createElement('li')
    li.classList.add('li-item')
  
    li.innerHTML += `<p>${x.testName}</p>`;
    container.innerHTML(li)
})
}

testNames[0].testName = 'name changed';

createElement(testNames)

Ekrana yazdırmış olduğun değerleri tekrar güncellemen gerekiyor. Şimdi işlemi nasıl yaptırıyorsun bilmiyorum sadece dizi içindeki nesneyi değiştiriyorsan çalışmaz zaten.
Eğer tekrar foreach kullanıyorsan appendChild kullandığın için üstüne ekleme yapar o yüzden innerHtml kullanarak eski değerleri silmesini ve yeni değerleri yazmasını sağlarsın.
Uzman bir arkadaş farklı bir bakış açısı ile benden daha faydalı olabilir. Test edemediğim zaman kod hatası yapabailiyorum.