マップの最初の100エントリを削除し、マップを再作成せずに、最も効率的な方法にしたいと考えています。あなたは500アイテムES6 Map Object持っている場合ES6 Mapオブジェクト - 最初の100アイテムを削除する最良の方法
だから:
let map = new Map(... 500 items)
を現在、私はこのようにそれを行う:
const newCache = new Map(
Array.from(map).slice(100)
)
map.clear()
map = newCache
しかし、それは地図を再作成します。
Array.from(map.keys())
.slice(0, 100)
.forEach(key => map.delete(key))
しかし、それは非効率的になります。
他の方法は、最初の100個のキーの上に実行することです。
どうしたのですか? – Barmar
質問を編集しました:私は同じオブジェクトを維持したいと思います。これが最も効率的な方法であるかどうかも疑問です。 –
[配列からサブアレイを取得するには?](https://stackoverflow.com/questions/7538519/how-to-get-subarray-from-array) – Rajesh