JavaScript - 在不影响索引的情况下将元素插入数组?

lox*_*sat 3 javascript regex arrays

我现在正在研究这样的问题,试图找出如何处理索引.这是问题所在:

我有一个字符串:thisIsGreat 使用的基本操作如下:

var str = "thisIsGreat"; 
str = str.split(''); //Making it an array
.....
str = str.join(''); //String it back again
console.log(str);
Run Code Online (Sandbox Code Playgroud)

期望的输出: ["t","h","i","s"," ","I","s"," ","G","r","e","a",t"]

我很难在这些单词之间插入空格而不影响索引.我尝试过这样的东西,但它没有用.

for (var i = 0; i < str.length; i++){
     if (str[i]+1 == (str[i].toUpperCase())+1)
      str[i] = " ";
}
Run Code Online (Sandbox Code Playgroud)

有没有办法来解决这个问题?有什么想法吗?

Nin*_*olz 8

您可以使用积极前瞻的替换.

var str = "thisIsGreat";
   
str = str.replace(/(?=[A-Z])/g, ' ').split('');
document.write('<pre>' + JSON.stringify(str, 0, 4) + '</pre>');
Run Code Online (Sandbox Code Playgroud)