2 つの関数を作成する必要があります。
このgetRandomValue()
関数は配列を入力として受け取り、ランダムなインデックスと値を提供します。
function getRandomValue(myArray)
{
var index = Math.floor(Math.random() * myArray.length);
return [myArray[index], index];
}
images
次に、names
配列を宣言します。
var images = [{
"src": "images2/animal_1.jpg",
"title": "Dog"},
{
"src": "images2/animal_2.jpg",
"title": "Cat"},
{
"src": "images2/animal_3.jpg",
"title": "Sheep"},
{
"src": "images2/animal_4.jpg",
"title": "Cow"}];
var name = ["Dog", "Cat", "Sheep", "Cow"];
メイン関数はここに来ます。まず、画像配列をrandomValue()
関数に渡してランダムな画像を取得します。名前についても同じようにします。返される各値は、値とインデックスの配列になります。
ここでインデックスを比較し、インデックスが異なる場合は両方を配列として返します。それ以外の場合は、関数に戻って別の関数を生成します。
function getImgName()
{
var img = getRandomValue(images);
var nam = getRandomValue(name);
if (img[1] != nam[1])
return getImgName();
else
return [img[0], nam[0]];
}