我想做一个脚本,删除结尾的字母,并在字符串变空时添加它们。
例如,如果我有一个字符串“Samir”。它将在控制台中返回:
Samir
Sami
Sam
Sa
S
S
Sa
Sam
Sami
Samir
或者您可以尝试以下方法:
const str ="homework yeah"
make_r(str);
make(str);
function make_r(str) {
let s = str;
let j = str.length
for (i = 0; i < str.length; i++) {
console.log(s.slice(0, j ));
j--;
}
}
function make(str) {
let s = '';
for (i = 0; i < str.length; i++) {
s += str[i];
console.log(s)
}
}
为此,您可以使用两个for循环。
function loopMyString(myString, direction) {
for (var i = 0; i <= myString.length; i++) {
if ("forward" === direction) {
var result = myString.substring(0, i);
}
if ("backward" === direction) {
var result = myString.substring(0, myString.length - i);
}
console.log(result);
}
}
var str = "Samir";
loopMyString(str, "forward")
...它将返回以下内容: S Sa Sam Sami Samir
为了那个电话...
var str = "Samir";
loopMyString(str, "backward")
...结果Samir Sami Sam Sa S
该代码非常简单,但是,谁知道呢,也许它会满足您的需求。但最有可能的是,您需要添加一些符合您需求的聪明逻辑。
希望这将以同样的方式帮助你。
试试这个:
const txt = "Samir";
function remove(txt) {
return txt.slice(0, -1);
}
function add(duplicate, txt) {
return `${duplicate}${txt.slice(duplicate.length, (1 + duplicate.length))}`;
}
(() => {
console.log(txt);
let text = txt;
for (let i=0; i<txt.length; i++) {
text = remove(text);
console.log(text);
}
for (let i=0; i<txt.length; i++) {
text = add(text, txt);
console.log(text);
}
})();