2017-03-28 6 views
-2
<script> 
var words=['abstract', 'arguments', 'await', 'boolean', 
'break', 'byte',  'case',  'catch', 
'char',  'class', 'const', 'continue', 
'debugger',  'default', 'delete', 'do', 
'double', 'else',  'enum',  'eval', 
'expor', 'extends', 'false', 'final', 
'finally', 'float', 'for', 'function', 
'goto',  'if', 'implements', 'import', 
'in', 'instanceof', 'int', 'interface', 
'let', 'long',  'native', 'new', 
'null',  'package', 'private', 'protected', 
'public', 'return', 'short', 'static', 
'super', 'switch', 'synchronized',  'this', 
'throw', 'throws', 'transient', 'true', 
'try', 'typeof', 'var', 'void', 
'volatile',  'while', 'with',  'yield']; 
var length=words.length; 
var input=prompt("enter keywords") 
for(i=0;i<length;i++) 
{ 
    //alert(words[i]); 
    if(input==words[i]){ 
     alert("keyword exist"); 
    } 
    else{ 
      alert("not found"); 
      //break; 
      break; 
     } 
    } 
</script> 

キーワードが存在しません。プログラムで何が間違っていますか?キーワードが表示されませんでしたか?プログラムで何が間違っていますか?

+2

FYI java!== js –

答えて

2

あなたの問題は、あなたが一致していない、リスト内の最初のの単語に基づいて最終決定を下すことです。 abstractというキーワードを入力すると、それが見つかったというメッセージが表示され、の2番目のという単語が最終的に決定されます。

は何をする必要があるすべて言葉、ロギングと見つかった場合は破壊し、一致した場合にのみ、どれはあなたに出力「見つかりません」のメッセージもしないをチェックすることです。このような

何かで十分です:

var length = words.length; 
var input = prompt("Enter word to check") 

var foundIt = false;    // Assume not found. 
for (i = 0; i < length; i++) { // Check EVERY word. 
    if (input == words[i]) {  // If match, 
     alert("Found it");  // log and exit loop. 
     foundIt = true; 
     break; 
    }       // Otherwise check other words. 
} 

// If NO word in list matched, log the fact. 

if (! foundIt) { 
    alert("Not found"); 
} 
0
var flag = false; 
var words=['abstract', 'arguments', 'await', 'boolean', 'break', 'byte', 
'case', 'catch', 'char', 'class', 'const', 'continue', 'debugger', 'default', 
'delete', 'do', 'double', 'else', 'enum', 'eval', 'expor', 'extends', 'false', 
'final', 'finally', 'float', 'for', 'function', 'goto', 'if', 'implements', 'import', 
'in', 'instanceof', 'int', 'interface', 'let', 'long', 'native', 'new', 'null', 
'package', 'private', 'protected', 'public', 'return', 'short', 'static', 'super', 
'switch', 'synchronized', 'this', 'throw', 'throws', 'transient', 'true', 'try', 
'typeof', 'var', 'void', 'volatile', 'while', 'with', 'yield']; 

var len = words.length; 
var inp = prompt ("enter keywords"); 
for (var i=0;i<len;i++){ 
    alert(words[i]); 
    if (inp == words[i]){ 
     alert ("keyword found"); 
     flag = true; 
     break; 
    } 
} 
if (!flag) 
    alert ("not found"); 

}

を上記のスクリプトを実行してみてください。

+0

私のために働いています。 –

0

あなたはこのような何かにそれを変更することがあります。

var words=[ 
    'abstract', 'arguments', 'await', 'boolean', 
    'break', 'byte',   'case',  'catch', 
    'char',  'class',  'const', 'continue', 
    'debugger', 'default',  'delete', 'do', 
    'double', 'else',   'enum',  'eval', 
    'expor', 'extends',  'false', 'final', 
    'finally', 'float',  'for',  'function', 
    'goto',  'implements', 'if',  'import', 
    'in',  'instanceof', 'int',  'interface', 
    'let',  'long',   'native', 'new', 
    'null',  'package',  'private', 'protected', 
    'public', 'return',  'short', 'static', 
    'super', 'synchronized', 'switch', 'this', 
    'throw', 'throws',  'true',  'transient', 
    'try',  'typeof',  'var',  'void', 
    'volatile', 'while',  'with',  'yield']; 

var input="try"; 

var idx = words.indexOf(input); 
console.log("Keyword [" + input + "] " + (idx == -1 ? "not " : "") + "found"); 
0

あなたは、アレイ全体のリストをチェックしていない、あなただけの最初の配列項目を検証します。

更新されたロジックを持つfiddleがあります。

var words = ['abstract', 'arguments', 'await', 'boolean', 
    'break', 'byte', 'case', 'catch', 
    'char', 'class', 'const', 'continue', 
    'debugger', 'default', 'delete', 'do', 
    'double', 'else', 'enum', 'eval', 
    'expor', 'extends', 'false', 'final', 
    'finally', 'float', 'for', 'function', 
    'goto', 'if', 'implements', 'import', 
    'in', 'instanceof', 'int', 'interface', 
    'let', 'long', 'native', 'new', 
    'null', 'package', 'private', 'protected', 
    'public', 'return', 'short', 'static', 
    'super', 'switch', 'synchronized', 'this', 
    'throw', 'throws', 'transient', 'true', 
    'try', 'typeof', 'var', 'void', 
    'volatile', 'while', 'with', 'yield' 
]; 
var length = words.length, 
    input = prompt("enter keywords"), 
    found = false; 
    console.clear(); 
for (i = 0; i < length; i++) { 
    if (input == words[i]) { 
    found = true; 
    console.log("Found"); 
    break; 
    } 
} 

if (!found) { 
    console.log("Not Found"); 
} 
関連する問題