Javascript 为每个对象指定一组数组中对象的随机属性

Javascript 为每个对象指定一组数组中对象的随机属性,javascript,arrays,Javascript,Arrays,我在一个数组中有30个对象。每个对象中的一个属性是question\u order。我想创建一个javascript函数,为对象提供一个命令。要做到这一点,我需要给每个对象的属性question\u order一个1-30的数字,并且每个question\u order数字必须是唯一的。最好的办法是什么?谢谢 如果需要,您可以创建一个索引数组并洗牌。然后,您可以循环浏览您的项目,并根据无序排列的数组分配question\u顺序: 函数洗牌(数组){ var指数=数组长度; 而(--指数>0){

我在一个数组中有30个对象。每个对象中的一个属性是
question\u order
。我想创建一个javascript函数,为对象提供一个命令。要做到这一点,我需要给每个对象的属性
question\u order
一个1-30的数字,并且每个
question\u order
数字必须是唯一的。最好的办法是什么?谢谢

如果需要,您可以创建一个索引数组并洗牌。然后,您可以循环浏览您的项目,并根据无序排列的数组分配
question\u顺序

函数洗牌(数组){
var指数=数组长度;
而(--指数>0){
设randIndex=Math.floor(Math.random()*index);
[array[index],array[randIndex]=[array[randIndex],array[index]];
}
返回数组;
}
让项目=[
{name:0},
{name:1},
{name:2},
{姓名:3},
{名称:4}
]
//使索引arr,即[0,1,2,3]与项目长度相同
让索引=shuffle(Array.from({length:items.length},(u,i)=>i))
//添加问题顺序
items.forEach((item,index)=>item.question\u order=索引[索引])

console.log(items)
数组是已排序项的数据结构。为什么需要另一个指标来排序?因为我每次都需要对它们进行随机化,同时为变量设置一个合理的顺序。只需获取对象数组,并提前添加一个顺序属性,然后再进行洗牌。