※ ChatGPTを利用し、要約された質問です(原文:なぜundefinedになってしまうのでしょうか?)
なぜundefinedになってしまうのでしょうか?
このQ&Aのポイント
乱数を配列にして、それを基準にしてランダムに処理を実行させたいのですが、なぜかarrayRandomNum[0]がundefinedになります。
配列の始めのインデックスに当たる数値を取得できると考えていたのですがなぜundefinedになってしまうのでしょうか?
なぜundefinedになるのか解決方法を教えてください。
なぜundefinedになってしまうのでしょうか?
乱数を配列にして、それを基準にしてランダムに処理を実行させたいのですが、
なぜかarrayRandomNum[0]がundefinedになります。
配列の始めのインデックスに当たる数値を取得できると考えていたのですがなぜundefinedになってしまうのでしょうか?
let arrayRandomNum = [randomNumFunk(2)];
console.log(arrayRandomNum[0]);
function randomNumFunk(count) {
var generatedArray = [];
var generatedCount = generatedArray.length;
for(var i = 0 ; i < count; i++){
var candidate = Math.floor(Math.random() * count);
for(var j = 0; j < generatedCount; j++) {
if(candidate == generatedArray[j]){
candidate = Math.floor(Math.random() * count);
j= -1;
}
}
generatedArray[i] = candidate;
generatedCount++;
}
return generatedArray;
};
補足
関数の戻り値の場合は配列として受け取ってはいけないのですね。 あえて配列として受け取らないようにしないと二重に配列になるのでエラーになるんですかね