使用javascript在空格后反转数组

使用javascript在空格后反转数组,javascript,arrays,reverse,Javascript,Arrays,Reverse,我有一个数组,我想像 [I','l','o','v','e','e','a','r','t','h' 我想这样把它倒过来 [“I”、“e”、“v”、“o”、“l”、“h”、“t”、“r”、“a”、“e”] 问题是我可以使用array.slice().reverse()反转它但它会反转整个数组,我想在where is space之后反转。好吧,一些脏的解决方案可能与此类似: var语句=['I',''l','o','v','e','e','a','r','t','h']; var reverse

我有一个数组,我想像

[I','l','o','v','e','e','a','r','t','h'

我想这样把它倒过来

[“I”、“e”、“v”、“o”、“l”、“h”、“t”、“r”、“a”、“e”]


问题是我可以使用
array.slice().reverse()反转它但它会反转整个数组,我想在where is space之后反转。

好吧,一些脏的解决方案可能与此类似:

var语句=['I',''l','o','v','e','e','a','r','t','h'];
var reversed=句子.join(“”).split(“”).map(word=>word.split(“”).reverse().join(“”)).join(“”).split(“”);

控制台日志(反向)您可以将其设置为字符串,然后拆分和平面映射

const arr=['I',''l','o','v','e','e','a','r','t','h'];
常数res=arr
.加入(“”)
.拆分(“”)
.flatMap(e=>(e+“”).split(“”).reverse()
.切片(1);

控制台日志(res)您可以采用递归方法收集子数组并反转此值

函数交换(数组,i=0,temp=[]){ if(i>=array.length | | array[i]==''){ 温度forEach((v,j)=>数组[i-j-1]=v); 温度=[]; }否则{ 温度推送(阵列[i]); } if(i>=array.length)返回数组; 返回交换(阵列,i+1,临时); } 变量数组=['I',''l','o','v','e','e','a','r','t','h']; log(交换(数组))
.as console wrapper{max height:100%!important;top:0;}
您可以使用&逐个字母循环数组(避免创建多个临时数组):

var语句=['I',''l','o','v','e','e','a','r','t','h'];
var反向=句子。减少((acc,字母)=>{
如果(字母==''){
根据结果推送(信函);
acc.insertIndex=acc.result.length;
}否则{
根据结果拼接(根据插入索引,0,字母);
}
返回acc;
},{result:[],insertIndex:0});

console.log('reversed:',reversed.result)首先拆分空格字符,然后将每个字符串拆分为字符并反转,然后合并整个字符串,怎么样?