JavaScript-在不影响索引的情况下将元素插入数组?
我现在正在研究这样的问题,试图弄清楚如何处理索引。问题是: 我有一个字符串:JavaScript-在不影响索引的情况下将元素插入数组?,javascript,arrays,regex,Javascript,Arrays,Regex,我现在正在研究这样的问题,试图弄清楚如何处理索引。问题是: 我有一个字符串:这太棒了 使用的基本操作如下: var str = "thisIsGreat"; str = str.split(''); //Making it an array ..... str = str.join(''); //String it back again console.log(str); 所需输出:[“t”、“h”、“i”、“s”、“i”、“s”、“s”、“G”、“r”、“e”、“a”、“t”] 我很难在不
这太棒了
使用的基本操作如下:
var str = "thisIsGreat";
str = str.split(''); //Making it an array
.....
str = str.join(''); //String it back again
console.log(str);
所需输出:[“t”、“h”、“i”、“s”、“i”、“s”、“s”、“G”、“r”、“e”、“a”、“t”]
我很难在不影响索引的情况下在这些单词之间插入空格。我尝试了类似的方法,但没有成功
for (var i = 0; i < str.length; i++){
if (str[i]+1 == (str[i].toUpperCase())+1)
str[i] = " ";
}
for(变量i=0;i
有没有办法解决这个问题?有什么想法吗?用你自己的逻辑
var str = "thisIsGreat";
str = str.split(''); //Making it an array
var result = [];
for (var i in str){
if (str[i]+1 == (str[i].toUpperCase())+1){
result.push(" ");
result.push(str[i]);
}else{
result.push(str[i]);
}
}
result = result.join(''); //String it back again
console.log(result);
如果不希望结果为字符串,只需删除最后的连接即可
您的问题不是很清楚,如果您只想在每个大写字母前插入一个空格,使用正则表达式很容易: 替换(/[A-Z]/g,“$&”);
警报(r)您可以使用带正向前瞻的替换
var str=“thisIsGreat”;
str=str.replace(/(?=[A-Z])/g'').split('');
document.write(''+JSON.stringify(str,0,4)+'');
只需反转循环即可
'thisIsGreat'.replace(/([A-Z])/g,' $1').split('').join('", "')
//Output: "t", "h", "i", "s", " ", "I", "s", " ", "G", "r", "e", "a", "t"
你需要使用相同的数组吗?你不能生成另一个数组吗?是的,如果需要,我可以生成一个新数组..有什么想法吗用于获取对象的所有属性,而不是数组的元素。你到底想实现什么?@It-Z我的错误,使用了错误的循环..现在编辑..不客气。顺便说一句,尼娜的答案更准确。谢谢你坚持我的逻辑!效果很好!!
'thisIsGreat'.replace(/([A-Z])/g,' $1').split('').join('", "')
//Output: "t", "h", "i", "s", " ", "I", "s", " ", "G", "r", "e", "a", "t"