最近我发现javascript中string.length的时间复杂度是0(1)。有没有人可以让我理解为什么要获得长度我们需要遍历所有字符,如果字符串有 n 个字符,那么它应该取决于 n 并且应该花费 0(n)。
如果有人可以清除此问题或可以发送 string.length 的 native 实现的链接,我将非常感激
提前致谢:-)
最佳答案
这是因为字符串是不可变的,所以长度是在创建字符串时计算的,并且永远不会改变。
当修改字符串时,将创建一个新的字符串对象以及长度。
所以长度是常数时间O(1)
。
关于javascript - string.length 是否在调用 string.length 时计算长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63971910/