根据这个答案,JSON.parse()
的时间复杂度是O(n)
。
这对JSON.stringify()
适用吗?似乎没有任何地方记录这一点。
它应该是O(n(,但n
是字符串化值的整个对象层次结构中的节点数。所以如果你有一个数字数组,n
就是array.length
。但如果你有一个像这样的对象
var obj =
{ a: [1, 2, 3],
b: { x: 1, y: z },
c: { q: [1, 2], r: "abc" }
}
n
为3(obj
的性质(+3(obj.a
的元素(+2(obj.b
的元素(/2(obj.c
的元素(=2(obj.c.q
的元素(=12
这也将字符串化处理为常量,但实际上它们是O(n(,其中n`是字符串的长度。但是,除非对象中有很多长字符串,否则差异可能并不显著。