2017-04-10 18 views
1

特定の長さ(10文字)を満たすために乱数で文字列を埋めたいと思っています。例えば: - > HAM3481259やT​​URKEY -JavaScriptを使用して固定長に乱数を使用して文字列を埋め込みます。

HAM> TURKEY6324

私はいくつかのJavaScript機能を試してみたが、私はどちらかは、まったく番号あまりにも多くのまたはを持っていました。どんな提案も大歓迎です。

+0

あなたはここに問題が何を持っていますか?あなたはこれのどの部分を抱いていますか?何を試しましたか? 「JavaScript関数を試した」とはどういう意味ですか? –

+0

パッドする必要のある文字の数を調べる必要がある場合は、 'str.length%10> 0'をチェックした後、' 10 - str.length'(または '10 - (str.length%10)') )。 –

答えて

3

長さを確認し、希望の長さよりも小さい場合はランダムな数字を追加することができます。

function padRandom(string, length) { 
 
    while (string.length < length) { 
 
     string += Math.floor(Math.random() * 10); 
 
    } 
 
    return string; 
 
} 
 

 
console.log(padRandom('HAM', 10)); 
 
console.log(padRandom('TURKEY', 10));

+0

この関数に空白を埋めて埋めたい場合はどうすればいいですか?私はそれができることを知っているが、私は機能に慣れていないが、例に基づいて学ぶことを試みている! –

+0

次に、 'Math.floor(Math.random()* 10)'の代わりにスペースを追加してください。 –

+0

既存の文字がすべて右になるように先導するのはどうですか? –

0

Nina's answerの少し速いバージョン:

function padRandom(string, length) { 
 
    random_number_length = length - string.length; 
 

 
    if (random_number_length > 0) { 
 
     string += randomFixedInteger(random_number_length); 
 
    } 
 

 
    return string 
 
} 
 

 
function randomFixedInteger(length) { 
 
    return Math.floor(Math.pow(10, length-1) + Math.random() * (Math.pow(10, length) - Math.pow(10, length-1) - 1)); 
 
} 
 

 
console.log(padRandom('HAM', 10)); 
 
console.log(padRandom('TURKEY', 10));

関連する問題