提问者:小点点

编写一个脚本,当字符串变为空[关闭]时,将字母从结尾移除并重新添加


我想做一个脚本,删除结尾的字母,并在字符串变空时添加它们。

例如,如果我有一个字符串“Samir”。它将在控制台中返回:

Samir
Sami
Sam
Sa
S

S
Sa
Sam
Sami
Samir

共3个答案

匿名用户

或者您可以尝试以下方法:

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循环。

  1. 首先,您需要一个函数loopMyString():
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);
  }
})();