Javascript 如何找到不在数组中的随机数?想循环随机数直到找到一个吗

Javascript 如何找到不在数组中的随机数?想循环随机数直到找到一个吗,javascript,Javascript,我有一个包含10个图像的文件夹(img-1.jpg,img-2.jpg,…)。我目前在一个网站上有6张图片,我正试图随机将其中的一张图片与页面上尚未显示的另一张图片进行交换 我有一个包含所有图像的数组(fullList),然后生成当前显示的图像的数组(currentList) 我遇到的问题是在currentList数组中循环,直到我找到当前不在currentList数组中的随机生成的项。然后我会从页面中选择一个随机图像并更改图像 我现在所拥有的: function sawpHeadshots()

我有一个包含10个图像的文件夹(img-1.jpg,img-2.jpg,…)。我目前在一个网站上有6张图片,我正试图随机将其中的一张图片与页面上尚未显示的另一张图片进行交换

我有一个包含所有图像的数组(fullList),然后生成当前显示的图像的数组(currentList)

我遇到的问题是在currentList数组中循环,直到我找到当前不在currentList数组中的随机生成的项。然后我会从页面中选择一个随机图像并更改图像

我现在所拥有的:

function sawpHeadshots() {
    var fullList = [1,2,3,4,5,6,7,8,9,10];
    var currentList = [];

    $('#headshots li').each(function() {
        currentList.push(parseInt($(this).css('background-image').replace(/\D+/, '')));
    });

    function generateRandom() {
        return fullList[Math.floor(Math.random() * fullList.length)];
    }

    var rand = generateRandom();

    /* not sure how to proceed at this point. */
}

创建阵列的副本对其进行随机排序,并在创建阵列时将其从阵列中删除。无需不断生成随机数或跟踪使用的内容

var fullList = [1,2,3,4,5,6,7,8,9,10];
var random = fullList.slice(0).sort(function() {
  return .5 - Math.random();
});

//get value with pop()
var current = random.pop();
为什么不把你的
完整列表
,然后画出第一、第二、第三张,…图像呢?