Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript indexOf()方法如何使用数组作为搜索值?_Javascript_Html_Arrays_Indexof - Fatal编程技术网

Javascript indexOf()方法如何使用数组作为搜索值?

Javascript indexOf()方法如何使用数组作为搜索值?,javascript,html,arrays,indexof,Javascript,Html,Arrays,Indexof,当我在这个数组中只放一个字母单词(“s”、“z”等等)时,它就工作了,但在这个例子中它不工作,我也不知道为什么。我知道在这种情况下是有问题的,因为当我只使用“document.querySelector(“.area1”).textContent=result;”而不使用if语句时,它可以工作 检查以下代码是否适用于您 <!DOCTYPE html> <html lang="en"> <body> <button id="replaceBtn">

当我在这个数组中只放一个字母单词(“s”、“z”等等)时,它就工作了,但在这个例子中它不工作,我也不知道为什么。我知道在这种情况下是有问题的,因为当我只使用“document.querySelector(“.area1”).textContent=result;”而不使用if语句时,它可以工作


检查以下代码是否适用于您

<!DOCTYPE html>
<html lang="en">
<body>
  <button id="replaceBtn">Replace</button>
</body>
<script type="text/javascript">
  var lett = ["Mně", "mě", "Mě", "mně"],//whatever you want to replace
    replaceLett = ["M__","m_","M_","m__"],//whatever you want to replace with
    texts = "Mně mě Mě mně",//your string
    replaceButton = document.getElementById("replaceBtn"),
    reg = [];

    lett.forEach(function(item){
      reg.push(new RegExp(item,"g"));//forming a regular expression for global replacement
    });   
    console.log(reg);
    replaceButton.addEventListener('click', function(){
      lett.forEach(function(item, index){
        texts = texts.replace(reg[index], replaceLett[index]);
        console.log(texts);
      });
    });
</script>
</html>

代替
var lett=[“Mně”、“mě”、“mě”、“Mně”],//无论您想替换什么
replaceLett=[“M_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
text=“MněměměMně”//您的字符串
replaceButton=document.getElementById(“replaceBtn”),
reg=[];
lett.forEach(功能(项目){
reg.push(新的RegExp(项,“g”);//形成用于全局替换的正则表达式
});   
控制台日志(reg);
replaceButton.addEventListener('click',function(){
lett.forEach(函数(项、索引){
text=text.replace(reg[index],replaceLett[index]);
控制台日志(文本);
});
});

请将文本形式的代码添加到问题中。也请看一下这里:你到底想实现什么。@Sivaprasad我想放一些文本,例如“MněměměMně”,然后我要按“replace”按钮,我要这个输出“m_uu_uu_u_u_u_u_u_u_u_u”并输入像“sz sz”这样它工作,但上面的情况不起作用……你所说的indexOf(…lett)是什么意思。我不知道里面的三个点是什么意思(如果有人能解释的话,那就好了)。据我所知,它应该接受字符串。这可能是你怀疑的情况的问题。另外,建议不要以这种方式使用replace()。@JSDEV扩展语法允许您对函数使用数组而不是单独的参数。如果数组
a
包含
[1,3,5,7]
,则
f(…a)
f(1,3,5,7)
相同。仅此而已。