Javascript indexOf()方法如何使用数组作为搜索值?
当我在这个数组中只放一个字母单词(“s”、“z”等等)时,它就工作了,但在这个例子中它不工作,我也不知道为什么。我知道在这种情况下是有问题的,因为当我只使用“document.querySelector(“.area1”).textContent=result;”而不使用if语句时,它可以工作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">
检查以下代码是否适用于您
<!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)
相同。仅此而已。