如何仅使用一个变量来反转字符串

时间:2018-04-05 12:48:00

标签: javascript algorithm

如何使用下一个条件反转字符串:

1)如果string不是函数的参数,

2)如果字符串放在全局范围内,

3)使用循环,例如,

4)可以添加一个变量

注意:不能使用.join,.split,.reverse等方法...
如果有可能而且不那么难以解释你的解决方案,非常感谢!

换句话说,这就是你得到的:

 let s = 'any string';
 let p; // feel free to use at your discretion

 // your code here. No further variables, no functions and no built-ins
 // should console.log the reversed string

我明白我的解决方案非常接近我的愿望(条件),但我无法生成其他解决方案。

function convers(s){ //parameter 
	var str = "";//empty string for new converted string
	for(var i = s.length-1; i >= 0; i--)//loop decremebtation that count from end of string
	str+=s[i];//store result and assignments to str
	return str;// declare result 
}
console.log(convers("abcdef"));

我看了这个来源:  javascript reverse string algorithm

Is there a faster Reverse String Algorithm for JavaScript? - 但对我来说没用,抱歉。

如果我的解释不够明确,我很抱歉。抱歉我的英语,我是初学者:))))

2 个答案:

答案 0 :(得分:3)

您可以为恢复的字符串使用新变量,并使用length属性进行迭代。



var string = 'abcdef',
    reverse = '';

while (reverse.length !== string.length) {
    reverse += string[string.length - 1 - reverse.length];
}
string = reverse;

console.log(string);




有点短。



var string = 'abcdef',
    reverse = '';

while (reverse.length !== string.length) {
    reverse = string[reverse.length] + reverse;
}
string = reverse;

console.log(string);




答案 1 :(得分:0)

请检查以下条件我希望它能帮到你

  

1)如果string不是函数的参数

function convers(s){ //parameter 
s = s.toString();
	var str = "";//empty string for new converted string
	for(var i = s.length-1; i >= 0; i--)//loop decremebtation that count from end of string
	str+=s[i];//store result and assignments to str
	return str;// declare result 
}
console.log(convers(132));

  

2)如果字符串位于全局范围

function convers(){ //parameter 

	var str = "";//empty string for new converted string
	for(var i = dd.length-1; i >= 0; i--)//loop decremebtation that count from end of string
	str+=dd[i];//store result and assignments to str
	return str;// declare result 
}
var dd ="123";
console.log(convers());

  

3)可以添加一个变量

function convers(s,dd){ //parameter 
	var str = "";//empty string for new converted string
	for(var i = s.length-1; i >= 0; i--)//loop decremebtation that count from end of string
	str+=s[i];//store result and assignments to str
	return str +dd;// declare result 
}
    function CallConvers(){
    var dd = "ADD";
    console.log(convers("abcdef",dd));
    }
    CallConvers();