Javascript 如何使用For循环反向打印字符串?

Javascript 如何使用For循环反向打印字符串?,javascript,arrays,loops,slice,Javascript,Arrays,Loops,Slice,我试图使用For循环反向打印字符串“hello”,结果应该是“olleh”。但是,在将字符串中的最后一个字符推送到数组后,我很难删除它。因此,它只打印字符串的最后一个字母 如何更新此代码,以便循环在将字符串推送到数组后删除字符串中的最后一个字符 功能反向限制(str){ let holder=[]; 对于(设i=str.length;i>0;i--){ 推压支架(短字符(短长度-1)); str.slice(0,-1); } 报税表持有人; } log(reverseString(“hello

我试图使用For循环反向打印字符串“hello”,结果应该是“olleh”。但是,在将字符串中的最后一个字符推送到数组后,我很难删除它。因此,它只打印字符串的最后一个字母

如何更新此代码,以便循环在将字符串推送到数组后删除字符串中的最后一个字符

功能反向限制(str){
let holder=[];
对于(设i=str.length;i>0;i--){
推压支架(短字符(短长度-1));
str.slice(0,-1);
}
报税表持有人;
}

log(reverseString(“hello”)使用
i-1
而不是
str.length-1
<代码>i
将遍历字符串中的所有字符。Slice是一种缓慢的方法,所以在没有其他方法之前不要使用它

功能反向限制(str){
let holder=[];
对于(设i=str.length;i>0;i--){
推压支架(str.charAt(i-1));
}
报税表持有人;
}
log(reverseString(“hello”).join(“”))

slice()
方法提取字符串的一部分,并将其作为新字符串返回,而不修改原始字符串

您必须将返回的字符串存储回变量:

功能反向限制(str){
let holder=[];
对于(设i=str.length;i>0;i--){
推压支架(短字符(短长度-1));
str=str.slice(0,-1);//更新变量
}
return holder.join(“”);//连接它们以返回字符串
}

log(reverseString(“hello”)实现这一点的最简单和最小的方法是将3种方法组合在一起:

功能反向限制(str){
返回str.split(“”).reverse().join(“”);
}

log(reverseString(“hello”)将for循环和split(“”)组合起来,您只需将单词拆分并将每个字符添加到数组的开头

let word='hello';
let holder=[];
for(让字的字符分割(“”)){
//添加到数组的开头
保持架。取消移动(字符);
}

控制台日志(holder.join(“”))
Op想要使用for循环。Op想要在
holder
数组中使用反向字符串,就像
[o,l,l,e,h]
他没有提到对他来说使用for循环是强制性的,所以我建议了一种简单的方法,除了在问题的标题中他没有提到。不是说你的答案是一种错误的反转字符串的方法,如果我需要的话,这是我的一种尝试。OP希望在
holder
数组中反转字符串,就像
[o,l,l,e,h]
更新一样,但是相同的区别,只是添加到数组的开头而不是字符串。