Javascript 从数组中随机获取值并加载到类

Javascript 从数组中随机获取值并加载到类,javascript,html,css,Javascript,Html,Css,我有一个数组arr[],它包含18个值,我有6个类,其中p段有id值 我需要从arr[]中随机选取六个值,并显示在“x”的位置 我怎样才能做到呢 var arrayVariable=[‘一’、‘二’、‘三’、‘四’、‘五’、‘六’、‘七’、‘八’、‘九’、‘十’、‘十一’、‘十二’、‘十三’、‘十四’、‘十五’、‘十六’、‘十七’、‘十八’、] arrayLength=arrayVariable.length; 对于i=0;i

我有一个数组arr[],它包含18个值,我有6个类,其中p段有id值

我需要从arr[]中随机选取六个值,并显示在“x”的位置

我怎样才能做到呢

var arrayVariable=[‘一’、‘二’、‘三’、‘四’、‘五’、‘六’、‘七’、‘八’、‘九’、‘十’、‘十一’、‘十二’、‘十三’、‘十四’、‘十五’、‘十六’、‘十七’、‘十八’、] arrayLength=arrayVariable.length; 对于i=0;i<排列长度;i++{ } .ab{ 浮动:左; 宽度:50px; 高度:50px; 边框:1px纯黑; 边界半径:10%; 背景色:42e0fd; 字体:Courier New、Courier、monospace; 字体:70px; ; 颜色:FFFFFF; 字体大小:xx小; 字号:900; 文本对齐:居中; }

x

x

x

x

x

x

这些值应该是唯一的吗? 如果是:


我复制初始数组,然后对于要在其上插入数组随机元素的每个DOM元素,我从临时数组中提取一个元素,然后将其插入DOM。为了使数据唯一,我从临时数组中删除拾取的数据

常量数组变量=[“一”、“二”、“三”、“四”、“五”、“六”、“七”、“八”、“九”、“十”、“十一”、“十二”、“十三”、“十四”、“十五”、“十六”、“十七”、“十八”]; //获取随机数 函数getRandommax{ 返回Math.floorMath.random*10; }; //从初始数组中选择一个随机值 函数getRandomFromArrayarray{ const random=getRandomarray.length-1; 常量值=数组[随机]; 数组。随机,1; 返回值; } 常数tmp=[ …阵列可变, ]; //对待每个集团 $'.ab'.eachfunction{ 常量值=getRandomFromArraytmp; $this.htmlvalue; }; .ab{ 浮动:左; 宽度:10em; 高度:10公分; 边框:1px纯黑; 边界半径:10%; 背景色:42e0fd; 字体:Courier New、Courier、monospace; 字体:70px; 颜色:FFFFFF; 字号:900; 文本对齐:居中; }

x

x

x

x

x

x


请在文档中保持您的id唯一。检查w3org文档

您可以将标签的name属性用作

x

然后使用下面的JS实现您的结果

检查

var arrayVariable=[‘一’、‘二’、‘三’、‘四’、‘五’、‘六’、‘七’、‘八’、‘九’、‘十’、‘十一’、‘十二’、‘十三’、‘十四’、‘十五’、‘十六’、‘十七’、‘十八’、] arrayLength=arrayVariable.length; ptags=document.getElementsByNamevalues;
fori=0;i你可以洗牌你的数组,然后连续得到六个数组值

函数洗牌:

/**
 * Shuffles array in place.
 * @param {Array} a items An array containing the items.
 */
 function shuffle(a) {
   var j, x, i;
   for (i = a.length - 1; i > 0; i--) {
     j = Math.floor(Math.random() * (i + 1));
     x = a[i];
     a[i] = a[j];
     a[j] = x;
   }
   return a;
 }
实施:

var places = document.querySelector('.ab>values')
var arrayVariable = ['one','two','three','four','five','six','seven','eight','nine','ten','eleven','twelve','thirteen','fourteen','fifteen','sixteen','seventeen','eighteen']
shuffle(arrayVariable);
places.forEach(function (place) {
  place.innerText = arrayVariable.pop();
})

参考:

这有助于随机选择值分配给id属性的任何值都必须是唯一的,它只能在整个DOM中出现一次。哦,是的,我理解
var places = document.querySelector('.ab>values')
var arrayVariable = ['one','two','three','four','five','six','seven','eight','nine','ten','eleven','twelve','thirteen','fourteen','fifteen','sixteen','seventeen','eighteen']
shuffle(arrayVariable);
places.forEach(function (place) {
  place.innerText = arrayVariable.pop();
})