javascript中字符串的倒数
定义一个函数reverse(),用于计算字符串的反转。例如,reverse(“jag testar”)应该返回字符串“ratset gaj”。因为我遇到了错误,而且我是javascript新手。我得到了代码。但它没有执行javascript中字符串的倒数,javascript,Javascript,定义一个函数reverse(),用于计算字符串的反转。例如,reverse(“jag testar”)应该返回字符串“ratset gaj”。因为我遇到了错误,而且我是javascript新手。我得到了代码。但它没有执行 //my code function (string) { var length = string.length; var reversed = []; var joined = (""); for (var i = length; i >
//my code
function (string)
{
var length = string.length;
var reversed = [];
var joined = ("");
for (var i = length; i > 0; i--){
reversed.push(string.charAt(i-1));
}
for (i = 0; i < (length) ; i++){
joined += (reversed[i]);
}
return joined ;
//我的代码
函数(字符串)
{
var length=string.length;
var反向=[];
var=(“”);
对于(变量i=长度;i>0;i--){
反向推(字符串字符(i-1));
}
对于(i=0;i<(长度);i++){
加入+=(反向[i]);
}
回归加入;
单击该按钮可反转阵列中元素的顺序
试试看
var水果=[“香蕉”、“橙子”、“苹果”、“芒果”];
document.getElementById(“demo”).innerHTML=fruits;
函数myFunction(){
水果。反向();
document.getElementById(“demo”).innerHTML=fruits;
}
第1点:您的
函数
声明不正确:
function (string)
在javascript
中声明函数的正确方法是:
function functionName(varName)
第2点(我猜是打字错误):您的函数必须以}
结尾,否则将抛出错误
因此,在您的具体案例中,如果您为此替换函数:
function reverse(s){
return s.split("").reverse().join("");
}
这样称呼它:
var yourString = "ABCDE";
var reversedString = reverse(yourString);
// reversedString = "EDCBA"
要了解其工作原理,请执行以下操作:
- 它使用
split(“”)将字符串拆分为单个字符数组,因此
“ABCDE”。split(“”=[“A”、“B”、“C”、“D”、“E”]
函数反转顺序,因此数组:reverse()
[“A”、“B”、“C”、“D”、“E”]。reverse()=[“E”、“D”、“C”、“B”、“A”]
再次重建字符串,因此join(“”)
[“E”、“D”、“C”、“B”、“A”]。join(“”=“EDCBA”
function (string)
在函数声明中,名称是必需的,因此:
function reverse(string)
{
var length = string.length;
不需要长度,只需在for循环中将i初始化为string.length
不需要分组运算符:
var joined = "";
但根本没有必要加入
您省略了结束括号:
}
如注释中所述,您可以使用split、reverse和join或递归函数。您也可以使用split和forEach,但使用普通循环可能会更快,正如您所做的:
function reverse(s) {
var result = '',
i = s.length;
while (i) {
result += s[--i];
}
return result;
}
虽然
+=
在一些较旧的浏览器中速度可能较慢。也许可以测试性能——哦,看,这是……而普通循环是最快的 function reverse(s){return s.length?reverse(s.slice(1))+s[0]:'}
string.split(“”).reverse().join(“”)有什么错误?在上面的代码中,函数名作为reverse reverse(string)丢失。如果我使用它,它会发送未使用的变量,就像函数没有名称一样,并且缺少结束符}
。你能发布真正的函数吗?但是…问题是关于字符串,而不是数组。欢迎来到。看来您是从中复制的,没有属性。当使用其他来源的内容时,请提供归属(通过提供链接),并注意任何相关内容均来自该来源。有关更多信息,请阅读。谢谢谢谢你对我的关注
for (var i = length; i > 0; i--){
reversed.push(string.charAt(i-1));
}
for (i = 0; i < (length) ; i++){
joined += (reversed[i]);
}
return reversed.join('');
return joined ;
}
function reverse(s) {
var result = '',
i = s.length;
while (i) {
result += s[--i];
}
return result;
}