私は選択メニューからトピックを選択しています。トピックを選択すると、そのトピックの配列からランダムな項目が表示されます。スライス()メソッドを使用して配列項目を置き換えてから元に戻す
トピックから選択すると、最初の配列のアイテムが置き換えられ、結果が得られます。
私は選択メニューで色の値を選択すると、私は動物の配列を色の配列に置き換え、ランダムな項目を取得します。私は言語配列に対しても同じことをしますが、
選択メニューからオプションを選択し、「animals」オプションを選択します。「animals」配列の項目はありません。
解決策は何ですか。
var animals = ["horse", "cat"];
var colors = ["black", "white"];
var languages = ["javascript", "css"];
function getRandom(arr) {
return arr[Math.floor(Math.random() * arr.length)];
}
var random = getRandom(animals);
$(".word").append(random);
$("#select").change(function() {
var val = $(this).val();
if (val === "colors") {
animals = colors.slice(0);
random = getRandom(animals);
$(".word").empty();
$(".word").append(random);
} else if (val === "languages") {
animals = languages.slice(0);
random = getRandom(animals);
$(".word").empty();
$(".word").append(random);
} else {
random = getRandom(animals);
$(".word").empty();
$(".word").append(random);
}
});
「動物」配列を再定義しました。それを元に戻すことはできません。 –