如何从随机二维数组打印

时间:2014-01-08 05:13:06

标签: javascript jquery

如何打印标题&来自同一阵列的图片?

 var images=[

            ["Title 1", "image1.jpg"],
            ["Title 2", "image2.jpg"]

            ];

            // select an array
            var randomNumber = function(){
            return images[Math.floor(Math.random() * images.length)];
            };

            // display title & image

            $('<img/>').attr("src", randomNumber).appendTo("#div1");
            $('<h1></h1>').attr("id", randomNumber).appendTo("#div2");

2 个答案:

答案 0 :(得分:3)

有了这个:

var r = randomNumber();
$('<img/>').attr("src", r[1]).appendTo("#div1");
$('<h1></h1>').text(r[0]).appendTo("#div2");

这解决了您的问题。

但是,我会将所有代码重构为此,以使其更容易理解:

var images=[
  {title: "Title 1", src: "image1.jpg"},
  {title: "Title 2", src: "image2.jpg"}
];

var getRandomImage = function(){
  return images[Math.floor(Math.random() * images.length)];
};

// display title & image  
var image = getRandomImage();
$('<img/>').attr("src", image.src).appendTo("#div1");
$('<h1></h1>').text(image.title).appendTo("#div2");

希望这会有所帮助。干杯

答案 1 :(得分:1)

更改您的代码,

//选择随机数

function randomNumber(){
            return Math.floor(Math.random() * images.length);
        };

//显示标题&amp;图像

var num = randomNumber();
$('<img/>').attr("src", images[num][0]).appendTo("#div1");
$('<h1></h1>').attr("id", images[num][1]).appendTo("#div2");