2017-12-24 57 views
5

जब मैं इन कोड का प्रयास करें:प्रश्न: ES6 map.keys() map.delete (key) के बाद

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()); 

क्रोम कंसोल इन दिखाएगा:

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

"बी" क्यों नहीं दिखाएं?

+0

यह मेरे लिए एक बग की तरह दिखता है देता है। दिलचस्प बात यह है कि यदि आप वास्तव में इटेटरेटर का उपभोग करते हैं, तो कोई समस्या console.log ([... map.keys()]) नहीं है; – laurent

+0

मुझे एक बग की तरह लग रहा है, केवल पहली कुंजी को हटाते समय होता है। इसके अलावा 'console.log (map) 'हटाने के बाद सही परिणाम प्रिंट करता है –

+0

हाँ शायद सबसे पहले – stack26

उत्तर

0

यह एक ब्राउज़र संगतता समस्या है, जो map.keys(), map.values(), map.entries() के साथ होता है।

समस्या पहली बार हटाने पर chrome में होती है लेकिन यह safari में अच्छी तरह से काम करता है।

इसके अलावा इन गुणों भी Mozilla में काम नहीं करते, बस एक खाली मानचित्र इटरेटर