使用循环切片

时间:2017-12-14 12:27:34

标签: javascript

我试图制作一个程序,如果你写一个单词,让我们说"你好"。然后按下打印按钮,结果如下: " H" "他" "赫尔" "地狱" "你好&#34 ;. 我应该使用循环吗?到目前为止我的代码是:

function printit()
{
var temptext = document.getElementById("mytext").value;
temptext = temptext.slice(1,2);

document.getElementById("translated").innerHTML=temptext;
}

有人对如何解决这个问题有任何建议吗?

4 个答案:

答案 0 :(得分:0)

试试这个:

let word = 'Good';

for (let i = 1; i <= word.length; i++) {
  console.log(word.substring(0, i));
}

答案 1 :(得分:0)

以下是循环的方法。

  • 循环遍历字符
  • 使用循环计数器(i)逐步slice文本中所需的块。
  • 请确保slice(0, i + 1),这样您就不会在第一次迭代中slice(0, 0)

&#13;
&#13;
function print() {
  var text = document.querySelector("#text").value

  for(var i = 0; i < text.length; i++) {
    console.log(text.slice(0, i + 1))
  }
}
&#13;
<input id="text" value="Hello"/>
<button onclick="print()">Print</button>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您可以将.map()与范围变量一起使用,以返回所需单词的数组

&#13;
&#13;
function toSplicedWordArray(what) {
   var before='';
   return what.split('').map(function(item) {before+=item;return before;});
}
console.log(toSplicedWordArray('hello'));
&#13;
&#13;
&#13;

答案 3 :(得分:-1)

function printinit() {
  var tempText = document.getElementById("mytext").value;
  var slicedText = "";
  for (var i = 0; i < tempText.length; i++) {
    slicedText = tempText.slice(0, i) + " ";
  }
  document.getElementById("translated").innerHTML = temptext;
}