0
我有一個綁定函數f
:如何生成未使用的任意對象屬性?
var f = someFunction.bind(this);
不是傳遞f
給函數相反,我將其保存在一個對象,而是通過一個id到f
:
var obj = {};
var nextID = Object.keys(obj).length;
obj[nextID] = f;
// pass nextID to some other function
然而,我還想刪除某些條目:
delete obj[someID]
這是一個問題,因爲如果我添加一些綁定函數a
和b
,然後刪除a
,我得到的下一個ID將是1,並且我放在那裏的綁定函數將覆蓋b
。
我能做的是:
function getNextID() {
var possibleID = Object.keys(obj).length;
while (obj[possibleID])
possibleID *= 2; // or some other mutation
return possibleID;
}
但這種感覺難看。
我嘗試使用綁定功能爲重點,但沒有奏效:
obj[a] = a;
obj[b] = b;
console.log(Object.keys(obj).length); // 1
我怎樣才能得到一個任意對象屬性當前未使用的?當然,我正在超越這個...