node.js dosyasında yapılması mümkün değildir, çünkü v8'in geçerli sürümü bu bug report numaralı belgede belirtildiği gibi yineleme uygulamamıştır.
Biz v8 en collection.js kaynak koduna bakarak teyit edebilirsiniz: ECMAScript 6 wiki de görülebileceği gibi,
InstallFunctions($Map.prototype, DONT_ENUM, $Array(
"get", MapGet,
"set", MapSet,
"has", MapHas,
"delete", MapDelete,
"clear", MapClear
));
Ama aynı zamanda items()
, keys()
ve values()
olmalıdır. v8, muhtemelen bu yöntemleri daha önce uygulamıyordu, çünkü jeneratörü desteklemiyordu. Ama şimdi bu yılın Mayıs ayından bu yana it does. Bu uygulanana kadar sadece bir zaman meselesi olmalı.
Şimdi bu işlevselliğe sahip olmanız gerekirse, map-set-for-each nolu polfilleri forEach
kullanabilirsiniz. case 'object':
'dan sonra case 'symbol':
eklemek için değiştirmeniz gerekecektir.
a.forEach(function(value, key) {
if (value === 'Noise') {
console.log('Give mak the bounty');
}
});
v8 Map
tekrarının uyguladığında böyle Noise
bulmak mümkün olacak:
for (let [key, value] of a) {
if (value === 'Noise') {
console.log('Upvotes for future');
}
}
i sızıntı bilmem, ama bir olmadan geri değere alamayan Sembol() geri dönmek ... – dandavis
ES 6 sembollerinin nasıl çalıştığı hakkında hiçbir fikrim yok, ama bir nesneyi numaralandıramıyor musunuz? için (a anahtarında var) uyarısı (a [tuşu]); ' – jods