[Javascript] String in Javascript


String in Javascript is immutable. Means that once they were created, they cannot be modified.

This also means that simple operations like appending a character to a string are more expensive than they might appear.

 

The canonical example of an operation that’s decptively expensive due to string immutability is the following:

const string = "this is string"
let newString = ""

for char in string
    newString += char

 

The operation above has a time complexity of O(n2) where n is the length of string, because each addition of a character to `newString` creates an entirely new string and is itself an O(n) operation. 

Therefore, n * O(n) operations are performed, leading to an O(n2) time-complexity operation overall.

 

So when doing appending string in Javascript, one performance improvement suggestion would be split string into Array.

Appending one item into array is O(1) time-complexity, after appending, can join the array together into a new string

const string = "this is string"
const ary = string.split("")
ary.push('!');
const newString = ary.join('')

 

原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/tech/webdev/273924.html

(0)
上一篇 2022年7月13日 01:51
下一篇 2022年7月13日 02:00

相关推荐

发表回复

登录后才能评论