यह वी 8 में O(n)
प्रतीत होता है (क्रोम, Node.js) कम से कम:
> var hash = {}
> , c = 0;
>
> var s = +new Date();Object.keys(hash);console.log(+new Date() - s);
0
> for(var i=0; i<100000; i++, c++){ hash[c] = 1; }
> var s = +new Date();Object.keys(hash);console.log(+new Date() - s);
26
> for(var i=0; i<100000; i++, c++){ hash[c] = 1; }
> var s = +new Date();Object.keys(hash);console.log(+new Date() - s);
49
> for(var i=0; i<100000; i++, c++){ hash[c] = 1; }
> var s = +new Date();Object.keys(hash);console.log(+new Date() - s);
75
> for(var i=0; i<100000; i++, c++){ hash[c] = 1; }
> var s = +new Date();Object.keys(hash);console.log(+new Date() - s);
102
स्रोत
2011-10-10 18:09:43
कितने कुंजी हो रहा की उम्मीद करते हैं, जैसे कि गणना उन मामलों की समय जटिलता? – Gabe
मुझे नहीं लगता कि यह 'ओ (एन) ' –
@ पाब्लोफर्नान्डेज़ से कम हो सकता है, ओ (एन) – Joe