从Javascript变量中删除随机HTML图像

问题描述

我是Java语言的新手,所以对使用错误的术语表示歉意。 我有一个需要显示一些HTML图像的代码,这些图像存储为在特定位置(由类定义)中包含多个项目的变量,例如:

 var fruit = ["<img class='item1' src='" + Banana + "'>" + 
        "<img class='item2' src='" + Apple + "'>" + 
        "<img class='item3' src='" + Grapes + "'>" + 
        "<img class='item4' src='" + Banana + "'>" +
        "<img class='item5' src='" + Grapes + "'>" + 
        "<img class='item6' src='" + Pear + "'>"],

稍后,我需要在称为刺激的更大图片中使用所有这些项目,例如:

stimulus: "<div class='container'> <img class='background' src='" + Background + "'>" + fruit + "</div>",

但是,我只需要显示水果中列出的6个中的3个随机水果。 例如,我需要得到类似的东西:

stimulus: "<div class='container'> <img class='background' src='" + Background + "'>" + half_fruit + "</div>",

其中: var half_fruit = ["<img class='item1' src='" + Banana + "'>" + "<img class='item3' src='" + Grapes + "'>" + "<img class='item6' src='" + Pear + "'>"],

即使我的图像从技术上讲不是数组的项目,有什么办法可以做到这一点? 我有特定的水果组合(不仅是示例中的一种,总共大约有30种),我需要删除该特定组合中的3种商品,同时还要使其他商品保持与以前相同的位置。这就是为什么我不将图像作为字符串存储在数组中的原因。 这些变量定义为var Banana = gorilla.stimuliURL('Banana.png');等(大猩猩是用于创建实验的平台; stimuliURL函数从在线存储库调用图像地址)。 谢谢您的时间!

解决方法

感谢您的评论,我对变量进行了如下重新排列。首先,我为每个图像创建变量以从大猩猩访问它们的地址,例如

var banana_img = gorilla.stimuliURL('banana.png');

然后,我为每个位置的每个水果创建了变量:

var banana = ["<img class='item1' src='" + banana_img + "'>","<img class='item2' src='" + banana_img+ "'>","<img class='item3' src='" + banana_img+ "'>","<img class='item4' src='" + banana_img + "'>","<img class='item5' src='" + banana_img + "'>","<img class='item6' src='" + banana_img + "'>"];

然后,我将每个水果组合另存为变量,例如

var fruit = [banana[0],apple[1],grapes[2],banana[3],grapes[4],pear[5]]

最后,我对它进行了排序并选择了前3个,只得到了三个随机项:

half_fruit = fruit.sort( function() { return 0.5 - Math.random() } ).slice(0,3).join(" ");

如果您找到更好的方法,请在下面回答或评论!

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...