是不是一直在JavaScript中调用Map.prototype.keys

时间:2018-04-04 19:45:06

标签: javascript dictionary ecmascript-6

我知道对于Object.keys,时间复杂度将是O(n),因为返回了对象中的每个键。但是当使用Map.prototype.keys时,迭代器函数将返回而不是所有键。我想知道这是O(n)还是O(1)

1 个答案:

答案 0 :(得分:0)

是的,它是O(1)。返回的iterator is live,在通话时不会收集所有密钥。

当然,使用迭代器中的所有项目显然是O(n),所以最终它并不重要。