gpt4 book ai didi

javascript - 如何随机化这种两个不同的javascript数组

转载 作者:行者123 更新时间:2023-11-28 02:43:28 25 4
gpt4 key购买 nike

我有两个像这样的不同数组

var images = [{
"src": "images2/animal_1.jpg",
"title": "Dog"},

{
"src": "images2/animal_2.jpg",
"title": "Cat"},

{
"src": "images2/animal_3.jpg",
"title": "Sheep"},

{
"src": "images2/animal_4.jpg",
"title": "Cow"}];

var name = ["Dog", "Cat", "Sheep", "Cow"];​

我需要独立地对两个数组进行洗牌。但一个条件是图像数组标题和名称数组值永远不会具有相同的索引。我怎样才能做到这一点。

最佳答案

您需要创建两个函数。

getRandomValue() 函数会将数组作为输入,并为您提供随机索引和值。

function getRandomValue(myArray)
{
var index = Math.floor(Math.random() * myArray.length);
return [myArray[index], index];
}

现在声明您的imagesnames 数组。

var images = [{
"src": "images2/animal_1.jpg",
"title": "Dog"},

{
"src": "images2/animal_2.jpg",
"title": "Cat"},

{
"src": "images2/animal_3.jpg",
"title": "Sheep"},

{
"src": "images2/animal_4.jpg",
"title": "Cow"}];

var name = ["Dog", "Cat", "Sheep", "Cow"];​

现在我们的主要功能就到这里了。首先,通过将图像数组传递给 randomValue() 函数来获取随机图像。对名称也用同样的方法。返回的每个值都是值和索引的数组。

现在比较索引,如果索引不同,则将两者作为数组返回。否则,返回函数以生成另一个。

function getImgName()
{
var img = getRandomValue(images);
var nam = getRandomValue(name);
if (img[1] != nam[1])
return getImgName();
else
return [img[0], nam[0]];
}

关于javascript - 如何随机化这种两个不同的javascript数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12287094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com