你如何使 Math.random 数组中的每一个第 9 个元素都是同一个元素?[JavaScript]

How do you make every 9th element in Math.random array to be the same element?[javascript]

本文关键字:元素 同一个 JavaScript Math 何使 random 数组 每一个      更新时间:2023-09-26

>我这里有这段代码

<script language='javascript' type='text/javascript'>
var imagesArray = ["1.png","2.png","3.png","4.png","5.png","6.png","7.png","8.png","9.png","10.png","11.png","12.png","13.png","14.png","15.png","16.png","17.png","18.png","19.png","20.png","21.png" ];
var newArray = new Array(100);
for (i = 0; i < 100; i++)
{
if (i % 9 === 0)
{
}
else
{
    newArray[i] = imagesArray[Math.floor(Math.random() * imagesArray.length)];
}
}
</script>
背后的想法是我需要它,以便随机选择的每个第 9 个数字保持不变,但我不知道我放在那里什么才能让它工作。你有什么建议吗?谢谢!

以下是您可以执行的操作的示例:

首先用Math.random()或任何你想要的东西填充你的数组。

imagesArray[i] = Math.floor((Math.random() * 10) + 1);

如果您希望每 9 个元素的值相同,请使用从 9 开始并遍历每 9 个元素的循环i+9

for(var i = 9; i < yourArray.length ; i = i + 9){
    imagesArray[i]  = imagesArray[9];
}

实际上你也可以在 18 岁开始循环

演示

尝试在

循环之外定义一个变量for以在第一次存储值i % 9 === 0

var newArray = new Array(100), ninth = null;
for (i = 0; i < 100; i++) {
    newArray[i] = imagesArray[Math.floor(Math.random() * imagesArray.length)];
    if (i % 9 === 0 && ninth === null && i === 9) {
      ninth = newArray[i]
    };
    if (i % 9 === 0 && i >= 9) {
      newArray[i] = ninth;
    };      
}
相关文章: