javascript - 从数组接收随机图像

标签 javascript arrays angularjs random ionic-framework

我无法从数组中获取 img,我有一个包含 6 个变量的数组,这些变量应该是图像的路径,但最后的 console.log 只给了我一个随机变量像sk11,sk15......但它们与图像的路径不同。

.controller('ArCtrl', function($scope) {

  var sk11,sk12,sk13,sk14,sk15,sk16;
  var kockice = ['sk11', 'sk12', 'sk13', 'sk14', 'sk15', 'sk16'];

  var rank = kockice[Math.floor(Math.random() * kockice.length)];
  //working good, finds random varibale in array

  if(rank === sk11) {
    sk11 = "http://localhost:8100/img/1.jpg";
    rank = sk11;

  } else if(rank === sk12) {
    sk12 = "http://localhost:8100/img/2.jpg";
    rank=sk12;

  } else if(rank === sk13) {
    sk13 = "http://localhost:8100/img/3.jpg";
    rank=sk13;

  }else if(rank === sk14) {
    sk14 = "http://localhost:8100/img/4.jpg";
    rank=sk14;

  }else if(rank === sk15) {

   sk15 = "http://localhost:8100/img/5.jpg";
   rank=sk15;

  } else if(rank === sk16){
   sk16 = "http://localhost:8100/img/6.jpg";
   rank=sk16;
  };

  console.log(rank); //gets back random from arry kockice
  console.log(sk11); //shows undefined?why

最佳答案

假设您尝试将随机图像路径分配给 rank 变量,您应该做更多类似的事情:

var images = [ '1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg', '6.jpg' ];
var randomImage = images[Math.floor(Math.random() * images.length)];
var rank = 'http://localhost:8100/img/' + randomImage;

没有必要拥有所有这些 if 语句。更重要的是 - 拥有它们效率不高,因为如果您在数组中获得更多图像,则必须添加更多它们。

关于javascript - 从数组接收随机图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35309566/

相关文章:

javascript - 如何在angularjs中获取修改后的对象

javascript - 如何创建一个函数

javascript - Express JS 的 session.generate() 函数的源代码在哪里?

arrays - 如何从数组<>中删除协议(protocol)

arrays - 访问数组 MIPS 中的字节

java - 仅将数组从绝对值转换为数组

javascript - Angular UI Bootstrap 警报未关闭

javascript - xdan/datetimepicker - datetimepicker( {'setOptions' , {highlightedDates : [] } }) is not updated - calendar view is not updated

AngularJs 定义全局变量,服务内容为空

javascript - 延迟返回变量,直到数据从 Firebase 同步