加载一个随机数组字符串并替换一个单词

时间:2017-11-08 19:07:46

标签: javascript

我有一系列西班牙语句子,所有句子都包含一个“por”或“para”(大写或不大写)的实例。我试图在浏览器上加载一个随机句子,用por / para的测试用例替换问号(“???”)。到目前为止,它正在加载原始句子而不应用字符操作。

function setSentence() {
  // Return random int between min (included) and max (excluded)
  function getRandomInt(min, max) {
    min = Math.ceil(min);
    max = Math.floor(max);
    return Math.floor(Math.random() * (max - min)) + min;
  }

  const sentenceList = [
    "El mundo era tan reciente, que muchas cosas carecían de nombre, y para mencionarlas había que señalarías con el dedo.", "Melquíades, que era un hombre honrado, le previno: «Para eso no sirve.»", "Úrsula Iguarán, su mujer, que contaba con aquellos animales para ensanchar el desmedrado patrimonio doméstico, no consiguió disuadirlo.",
  ];

  var sentence = sentenceList[getRandomInt(0, sentenceList.length)];

  var $sentence = $("#test-sentence");

  var testSentence = sentence;

  if (testSentence.includes("por ") || testSentence.includes("Por ")) {
    if (testSentence.includes("por ")) {
      testSentence.replace("por ", "???");
    } else {
      testSentence.replace("Por ", "???");
    }
  } else {
    if (testSentence.includes("para ")) {
      testSentence.replace("para ", "???");
    } else {
      testSentence.replace("Para ", "???");
    }
  }
  $sentence.text(testSentence);
}
setSentence();

和html:

<div class="container">  
  <p><span id="test-sentence"></span></p>    
</div>

1 个答案:

答案 0 :(得分:1)

MDN

  

replace()方法返回一个包含部分或全部匹配项的新字符串   由替代品替换的模式。

因此,每次要使用.replace()修改字符串时,都需要执行作业:

testSentence = testSentence.replace("para ", "???");