Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Javascript变量中删除随机HTML图像_Javascript_Html_Image_Class_Random - Fatal编程技术网

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

从Javascript变量中删除随机HTML图像,javascript,html,image,class,random,Javascript,Html,Image,Class,Random,我是Javascript新手,因此如果我使用了错误的术语,我深表歉意。 我有一个代码,需要在其中显示一些HTML图像,这些图像存储为变量,包含位于特定位置(由类定义)的多个项目,例如: var fruit=[“”+ "" + "" + "" + "" + ""], 稍后,我需要在一个更大的画面中使用所有这些项目,称为刺激,例如: stimulus: "<div class='container'> <img class='background' src='&q

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

var fruit=[“”+
"" + 
"" + 
"" +
"" + 
""],
稍后,我需要在一个更大的画面中使用所有这些项目,称为刺激,例如:

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>",
刺激:“+half_水果+”,
其中:
var-half\u-fruit=[“”+“”+“”],

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

感谢您的评论,我将变量重新排列如下。首先,我为每个图像创建变量,以便从Gorilla访问它们的地址,例如

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 + "'>"];
最后,我对其进行了排序,并选择了前3个,以仅获得三个随机项:

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

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

如果只在数组中放入一个大字符串,为什么要声明数组?我看你应该重新整理你的数据结构。香蕉、苹果怎么样。。定义?如果put在HTML中有三个“空”的
img
元素,您可以使用JavaScript通过随机设置它们的
src
属性来填充它们。您可能需要的唯一数组是由这些
src
属性的一些有效值组成,比如
[香蕉、苹果、葡萄、梨]
(其中
banana
有一些值,比如
my image folder/banana.png
)。@Lain这些变量定义为
var banana=gorilla.stimuliulURL('banana.png')
等(Gorilla是一个创建实验的平台;stimuliURL函数从在线存储库调用图像地址)@Cat,但我有特定的
水果
组合(不仅仅是示例中的组合,总共大约30个)我需要删除特定组合中的3项,同时将其他项保留在与以前相同的位置。顺便说一句,为了在JavaScript中构建HTML字符串,我将研究“.insertAdjacentHTML”方法()--甚至是使用
document.createElement
方法和
.appendChild
方法(&)的更通用、更不容易出错的技术,在这种情况下,您可能会使用
.setAttribute
.classList.add
来完成元素。
var fruit = [banana[0], apple[1], grapes[2], banana[3], grapes[4], pear[5]]
half_fruit = fruit.sort( function() { return 0.5 - Math.random() } ).slice(0, 3).join(" ");