简体   繁体   English

如何从随机二维数组打印

[英]How to print from a random 2 dimensional array

How do I go about printing the Title & Image from the same array? 如何从同一阵列打印标题和图像?

 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");

With this: 有了这个:

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

This solves your problem. 这样可以解决您的问题。

However, I'd refactor all your code to this, to make it more understandable: 但是,我会将所有代码重构为此,以使其更易于理解:

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");

Hope this helps. 希望这可以帮助。 Cheers 干杯

change your code like, 更改您的代码,例如

// select random number //选择随机数

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

// display title & image //显示标题和图片

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM