【发布时间】:2021-12-31 17:46:22
【问题描述】:
是否有一种简单的方法可以确定用户输入是否以 (endsWith()) 数组中的某个元素结尾?我想检查用户输入是否以以下后缀之一结尾:“ss”、“ll”、“tt”。如果用户输入以其中一个后缀结尾,则代码应警告消息“条件满足”,否则应警告“条件失败”。我可以使用简单的 if 语句来做到这一点,如下面的代码所示:
var inp = document.getElementById("inp");
function findingSuffixes(){
if(inp.value.endsWith('ss') || inp.value.endsWith('tt') || inp.value.endsWith('ll')){
alert('condition met')
} else {
alert('condition failed')
}
}
<p>Enter a word:</p>
<input type="text" id="inp">
<button onclick="findingSuffixes()">Find out</button>
但这有点绕。
我试图从不同的角度来看待它。我创建了一个数组并将后缀存储在其中,然后遍历该数组并将 array[i] 作为参数传递给 endsWith 方法,但它没有按预期工作。
var inp = document.getElementById("inp");
suffixes = ["ss", "tt", "ll"];
function findingSuffixes(){
for(var i=0; i < suffixes.length; i++){
if(inp.value.endsWith(suffixes[i])){
alert("condition Met")
} else {
alert("condition failed")
}
}
}
<p>Enter a word:</p>
<input type="text" id="inp">
<button onclick="findingSuffixes()">Find out</button>
TL'DR:是否有一种简单的方法可以检查用户输入是否以数组中的某个元素结尾?
【问题讨论】:
-
你总是有两个字符吗?你想知道哪一个匹配吗?
-
@NinaScholz:不,不总是两个字符。对于我的项目,我最后有五个字符,但是为了方便和清晰,我在这个问题中只选择了 2。我想知道用户输入是否以 any 的数组元素结尾。
-
为什么不使用正则表达式?
-
使用
suffixes.some() -
@NinaScholz:我不熟悉正则表达式(虽然我很想知道它们是否可以在这里使用)。
标签: javascript arrays loops ends-with