2017-10-09 13 views
1

isIsogramという関数を作成します。この関数は、isogramの1つの引数を取ります。この関数は、Javascriptでisogram(true)かnot(false)かを示すブール値を返さなければなりません。ここに私のコードは次のとおりです。関数isIsogramが正しく機能しない

function isIsogram(word){ 
    if (word !== 'string'){ 
     return 'Argument should be a string'; 
    } 

    if (word === ' '){ 
     return false; 
    } 

    else{ 
     var str = word.toLowerCase(); 
     for(var i=0; i<str.length;i++){ 
     if (charAt[i]>1){ 
      return false; 
     } 
     else{ 
      return true; 
     } 
     } 
    } 
    } 
    console.log(isIsogram('Dermatoglyphics')); 

コードは、しかし、その作業罰金

+0

'言葉!==あなたが型チェックを行う方法はありません「string''。 ['typeof'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof)オペレーター – abhishekkannojia

答えて

0

に「引数ではなく、文字列」それはべきではない皮膚紋理のためを返し

あなたは顔

を持っていただきました!問題あなたはarguを渡すDermatoglyphicsです!= stringそれは条件trueの場合、メッセージを与えるArgument should be a stringと返信

function isIsogram(word) { 
 
    if (word !== 'string') { 
 
    return 'Argument should be a string'; 
 
    } 
 

 
    if (word === ' ') { 
 
    return false; 
 
    } else { 
 
    var str = word.toLowerCase(); 
 
    for (var i = 0; i < str.length; i++) { 
 
     if (charAt[i] > 1) { 
 
     return false; 
 
     } else { 
 
     return true; 
 
     } 
 
    } 
 
    } 
 
} 
 
console.log(isIsogram('Dermatoglyphics'));

0

あなたは、あなたがオブジェクトを使用して、すべての見つかった手紙のための旗を取ることができ、文字だけの時間に表示されるかどうかを確認する必要があると仮定。 letterオブジェクトをチェックすると、重複する文字が見つかった場合に関数は終了し、falseを返します。

function isIsogram(word) { 
 
    var str = word.toLowerCase(), 
 
     letter = Object.create(null), 
 
     i; 
 

 
    if (typeof word !== 'string') { 
 
     return 'Argument should be a string'; 
 
    } 
 

 
    if (word === ' ') { 
 
     return false; 
 
    } 
 
    
 
    for (i = 0; i < str.length; i++) { 
 
     if (letter[str[i]]) { 
 
      return false; 
 
     } 
 
     letter[str[i]] = true; 
 
    } 
 
    return true; 
 
} 
 

 
console.log(isIsogram('Dermatoglyphics'));

+0

を見てください。コードがうまく動いています。ありがとう、しかし、元のコードからtypeOf演算子を正しく書くにはどうすればよいですか? – danoseun

+0

@ダノスンン、正しく書いてどういう意味ですか?上記のように書くことができます。 –

+0

私は知っているが、typeOf演算子を使用して型チェックを行う方法を知りたいだけだ。 – danoseun

関連する問題