2017-12-22 13 views
-3

誰も行番号3を説明できますか?誰もこのコードの行番号3を説明できますか?

+5

具体的にはどうですか?その行にはかなりたくさんのものがあります。三元術の仕組みを理解していますか? – Carcigenicate

+4

これは、ある種の[Caesar Encoding](https://en.wikipedia.org/wiki/Caesar_cipher)です。各文字はアルファベットの文字に続く文字に置き換えられています。 – Harald

+0

大文字のzと大文字のzの両方が小文字の「a」に「変換」されている点を除いて。アルファベットの残りの部分については、ケースが保持されます – Andreas

答えて

0
function LetterChanges(str) { 
    var converted = str.replace(/[a-z]/gi, function(char) { 
     return (char === 'z' || char === 'Z') ? 'a' : String.fromCharCode(char.charCodeAt() + 1); 
    }); 

    return converted; 
} 

文字列になりますし、アルファベットでそれを次の次の文字(char)に文字列内のすべての文字(chars)に変換されます。 charzまたはZである場合を除きます。それはaに戻ってリンクされます。

ここに無名関数:

function(char) { 
    return (char === 'z' || char === 'Z') ? 'a' : String.fromCharCode(char.charCodeAt() + 1); 
} 

は、文字列内のすべての文字上で実行され、

function(char) { 
    if(char === 'z' || char ==='Z') { 
     char = 'a'; 
    } else { 
     char = char.charCodeAt() + 1; 
    }  
    return char; 
} 

のように記述することができる具体的には、行番号3は以下のとおりです。charがある場合大文字または小文字z(char === 'z' || char ==='Z')a? 'a')、そうでない場合はcharアルファベットの次の文字。 (: String.fromCharCode(char.charCodeAt() + 1)

1

文字がzまたはZの場合は 'a'を返し、そうでない場合はアルファベットの次の文字を返します。一言で言えばLetterChanges

+0

これは、LetterChanges関数に渡される変数strの各文字に対して1回呼び出される無名関数で発生します。 –

関連する問題