キューを表すオブジェクトがあり、そこから最後の n 番目の要素を保持したい (固定サイズ)。
var m = {};
m["t1"] = { a: "t1", b: "t1" };
m["t2"] = { a: "t2", b: "t2" };
......
......
m["tn-1"] = { a: "tn-1", b: "tn-1" };
m["tn"] = { a: "tn", b: "tn" };
この例では、最後の N を保持し、残りを削除します。
簡単な解決策は何ですか?アンダースコア js で実行できますか?
@AlexK が気付いたように、「for..in オブジェクトの順序は、技術的には追加の順序と一致することが保証されていません。
編集:
私は1つの解決策を見つけました:
m2= {};
_.each(_.last(_.keys(m), size), function(key){
m2[key] = m[key];
});
m= m2;
問題または問題は、これにメモリ リークがある場合、未使用のアイテムはどうなるかということです。