引数に名前の最大文字数を指定して使う。
使用例
getRoboName(10)
getRoboName関数
/**
* ランダムで作った名前を返す
* @param {int} max 名前の最大文字数
* @returns name ランダムで生成された名前文字列
*/
const getRoboName = (max) => {
const nameStr ="アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨワヲンー";
const nameEnd = ["ャ", "ー", "ウーマン", "マン", "大王", "X", "くん", "ちゃん", "Z", "ドラゴン", "子", "女", "男"];
const MAX_LENGTH = max;
let name = "";
let end = nameEnd[Math.floor(Math.random() * nameEnd.length)];
let nameLen = Math.floor(Math.random() * (MAX_LENGTH-end.length) + 1);
for(let i=0; i<nameLen; i++){
name += nameStr.charAt(Math.floor(Math.random() * nameStr.length));
}
name += end;
return name;
};
コンソールに10個表示する例
sampleRoboName.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ランダムネーム</title>
<script>
const getRoboName = (max) => {
const nameStr ="アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨワヲンー";
const nameEnd = ["ャ", "ー", "ウーマン", "マン", "大王", "X", "くん", "ちゃん", "Z", "ドラゴン", "子", "女", "男"];
const MAX_LENGTH = max;
let name = "";
let end = nameEnd[Math.floor(Math.random() * nameEnd.length)];
let nameLen = Math.floor(Math.random() * (MAX_LENGTH-end.length) + 1);
for(let i=0; i<nameLen; i++){
name += nameStr.charAt(Math.floor(Math.random() * nameStr.length));
}
name += end;
return name;
};
// コンソールに10個表示
window.addEventListener("load", ()=>{
for(let i=0; i<10; i++){
console.log(getRoboName(7));
}
});
</script>
</head>
<body>
<p>コンソールに表示しています...</p>
</body>
</html>
コメント