如何在不使用方法的情况下在js中反转字符串
How to reverse strings in js without using methods
如果不使用split reverse和join功能,怎么会做这样的事情?
给出的问题:反转字符串中的单词样本输入:"Hello World"样本输出:"World Hello"
<script>
var newString = "";
var theString = prompt("Enter a Phrase that you would like to reverse (Ex. Hello world)");
newString = theString.split(" ").reverse().join(" ")
document.write(newString);
</script>
我可以使用内置方法制作它。但是问题要求只使用use
- 数组
- 子字符串
- charAt()
那我该怎么做呢?
好的,所以您可以使用 charAt 来查找单词之间的空格。当您知道空格在哪里时,您可以使用 substring 来隔离单个单词并将它们存储在变量中。然后你可以移动它们并将它们重新组合在一起。举个例子:
var string = "Hello World",
words = [],
reversedString="",
i;
for (i=0; i<string.length; i++) {
if (string.charAt(i) === " ") {
words.push(string.substring(0, i));
words.push(string.substring(i));
}
}
for (i=words.length-1; i>=0; i--) {
reversedString += words[i];
}
请注意,这只是一个简单的(未经测试的)示例,仅适用于包含两个单词的字符串。如果你想让它与更多的东西一起工作,你需要改变子字符串周围的逻辑。希望对您有所帮助!
编辑: 刚注意到我最后没有反转字符串,代码已更新。
如果不使用split reverse和join功能,怎么会做这样的事情?
给出的问题:反转字符串中的单词样本输入:"Hello World"样本输出:"World Hello"
<script>
var newString = "";
var theString = prompt("Enter a Phrase that you would like to reverse (Ex. Hello world)");
newString = theString.split(" ").reverse().join(" ")
document.write(newString);
</script>
我可以使用内置方法制作它。但是问题要求只使用use
- 数组
- 子字符串
- charAt()
那我该怎么做呢?
好的,所以您可以使用 charAt 来查找单词之间的空格。当您知道空格在哪里时,您可以使用 substring 来隔离单个单词并将它们存储在变量中。然后你可以移动它们并将它们重新组合在一起。举个例子:
var string = "Hello World",
words = [],
reversedString="",
i;
for (i=0; i<string.length; i++) {
if (string.charAt(i) === " ") {
words.push(string.substring(0, i));
words.push(string.substring(i));
}
}
for (i=words.length-1; i>=0; i--) {
reversedString += words[i];
}
请注意,这只是一个简单的(未经测试的)示例,仅适用于包含两个单词的字符串。如果你想让它与更多的东西一起工作,你需要改变子字符串周围的逻辑。希望对您有所帮助!
编辑: 刚注意到我最后没有反转字符串,代码已更新。