使用过滤器在屏幕上将数组写成一个单词-Javascript

时间:2019-07-12 13:26:10

标签: javascript jquery

我有一个数组,其中包含两个可单击的选项以完成一个句子(我通过innerHTML在屏幕上显示了该数组)。这些选项在[]中,我只需要在屏幕上输入文字,直到[]结束,然后在屏幕上保留第二个选项即可继续选择,并且始终与短语连接。

(所有这些都必须在“ showArrayConsole”中完成,并且请不要触摸选择jquery)

我已经尝试分离数组,将每个选项保留在某个数组中,但是我不能这样做。它全都在一个数组中,里面可以有几个短语,无数的选择。

代码:

var exame = new Array("Exame realizado no ombro ", 
  "[", 
  " esquerdo ",
  "direito ",
  "]",
  ", foi ",
  "[",
  " acima ", 
  "abaixo ", 
  "]."
);

document.getElementById("loop").innerHTML = exame.join("")

function showArrayConsole(s) {
  document.getElementById("loop").innerHTML = (exame[0] + s);
}

$("p").click(function(e) {
  s = window.getSelection();
  console.log(s);
  var range = s.getRangeAt(0);
  console.log(range);
  var node = s.anchorNode;
  while (range.toString().indexOf(' ') != 0) {
    range.setStart(node, (range.startOffset - 1));
  }
  range.setStart(node, range.startOffset + 1);
  do {
    range.setEnd(node, range.endOffset + 1);

  } while (range.toString().indexOf(' ') == -1 && range.toString().trim() != '');

  var str = range.toString().trim();
  s.removeAllRanges();
  alert(str);
  showArrayConsole(str);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p id="loop"></p>

0 个答案:

没有答案