检查单词中是否已经存在

问题描述:

我试图检查输入的单词是否已经在我的数组中。举例来说,如果有人多次输入“猫”,一条错误信息将显示“猫已进入”。我尝试了几种不同的代码组合,但我似乎没有做任何工作。 findword函数是我迄今为止所拥有的。有人可以看看我的代码,并解释为什么它不工作,并提供可能的修复。检查单词中是否已经存在

另一方面,为什么当输入字段留空时,不会弹出“word:empty”消息?

<body> 
<input type="text" id=input></input> 
<button onclick="addword()" class="button" type = "button">Add word</button><br><br> 
<button onclick="start()" class="button" type = "button">Process word</button><br><br> 
<p id="ErrorOutput"></p> 
<p id="output"></p> 
<p id="nameExists"></p> 
</body> 

var array = []; 
return = document.getElementById("input").value; 
function start() { 
    var word = "word List"; 
    var i = array.length 

    if (word.trim() === "") { 
    word = "word: Empty" 

    } 
    document.getElementById('ErrorOutput').innerHTML = word 
    while (i--) { 
    document.getElementById('output').innerHTML = array[i] + "<br/>" +  document.getElementById('output').innerHTML; 
    } 

    var longestWord = { 
    longword: '',len: 0}; 

    array.forEach(w => { 
    if (longestWord.len < w.length) { 
     longestWord.text = w; 
     longestWord.len = w.length; 
    } 
    }); 

    document.getElementById('ErrorOutput').innerHTML = "The longest name in the array is " + longestWord.len + " characters"; 

} 

function addword() { 

    return = document.getElementById('input').value; 
    array.push(return); 


} 

function findword() { 
    var nameExists = array.indexOf(
     return) < 0 ? 
    'The number ' + 
    return +' does not exist in the array': 'The number ' + 
     return +' exists in the array' 

    document.getElementById('nameExists').textContent = nameExists 
} 
+0

'return'是JavaScript保留的关键字,用于从函数返回值。你为什么把它用作变量名? –

可以使用array.indexOf(word)(您的具体情况的命令)找到这个词的位置。

如果位置是-1,则该单词不在数组内。

More information on W3