2017-12-24 205 views
5

:S: map.delete (tuşu) sonra ES6 map.keys() Ben bu kod çalıştığınızda

const map=new Map([['a', 1],['b', 2],['c', 3],['d', 4],['e', 5]]); 
console.log(map.keys()); 
map.delete('a') 
console.log(map.keys()); 

krom konsol bu gösterecektir:

MapIterator {"a", "b", "c", "d", "e"} 
MapIterator {"c", "d", "e"} 

"B" neden olmasın show up?

+0

döndürür Mozilla çalışmaz. İlginç bir şekilde, yineleyiciyi gerçekten tüketirseniz, sorun yoktur console.log ([... map.keys()]); – laurent

+0

Bana bir hata gibi görünüyor, sadece ilk anahtarı silerken gerçekleşir. Ayrıca 'console.log (map)' silme işleminden sonra doğru sonucu basar –

+0

Evet, büyük olasılıkla bir hata, firstone – stack26

cevap

0

Bu, tarayıcı ile ilgili sorunları (map.keys(), map.values(), map.entries()) ile ilişkilendirir.

Sorun, ilk anahtarı silerken chrome'da gerçekleşir, ancak safari numaralı telefonun düzgün çalıştığı durumlarda çalışır.

Ayrıca bu özellikler bile sadece bana bir hata gibi görünen boş Harita yineleyici