Javascript 对象的随机数组&;性质

Javascript 对象的随机数组&;性质,javascript,arrays,object,binary-search,Javascript,Arrays,Object,Binary Search,所以我在下面的代码中有一个数组,但我对赋值的要求之一是有一个非常大的对象数组,大约10000个对象。我的老师说,计算机可以一直为你生成随机对象,给定你想要的数量,在我的例子中是10000。我只是不知道我会怎么做,任何帮助或建议都非常感谢,谢谢 class Shoe { constructor(name, price, type) { this.name = name; this.price = price; this.type =

所以我在下面的代码中有一个数组,但我对赋值的要求之一是有一个非常大的对象数组,大约10000个对象。我的老师说,计算机可以一直为你生成随机对象,给定你想要的数量,在我的例子中是10000。我只是不知道我会怎么做,任何帮助或建议都非常感谢,谢谢

  class Shoe {
      constructor(name, price, type) {
        this.name = name;
        this.price = price;
        this.type = type;
      }
  }

  var shoes = [
     new Shoe('Nike AirMax 90', '120', 'Casual'),
     new Shoe('Jordan Retro 1', '110', 'Casual'),
     new Shoe('Jadon Doc Martens', '250', 'Seasonal boots'),
     new Shoe('Adidas X Ghosted', '110', 'Athletic'),
     new Shoe('Nike Vapourmax Flyknit', '250', 'Casual'),
     new Shoe('Aldo Loafers', '130', 'Formal'),
     new Shoe('Timberlands', '199', 'Seasonal boots'),
     new Shoe('Converse High Tops', '70', 'Casual'),
     new Shoe('Converse Low Tops', '80', 'Casual'),
     new Shoe('Adidas NMDs', '110', 'Athletic'),
     new Shoe('Heels', '130', 'Formal'),
     new Shoe('Nike AirForce', '150', 'Casual')
  ];

  function bubbleSort(shoes) {
    var swapped;
    do {
      swapped = false;
      for (var i = 0; i < shoes.length - 1; i++) {
        if (+shoes[i].price > +shoes[i + 1].price) {
           var temp = shoes[i];
           shoes[i] = shoes[i + 1];
           shoes[i + 1] = temp;
           swapped = true;
        }
      }
    } while (swapped);
    return shoes;
   }

   bubbleSort(shoes);
   console.log('Bubble Sort:\n', shoes);
class鞋{
构造函数(名称、价格、类型){
this.name=名称;
这个价格=价格;
this.type=type;
}
}
var鞋=[
新鞋款(‘Nike Air Max 90’、‘120’、‘休闲’),
新款鞋(“Jordan Retro 1”、“110”、“休闲鞋”),
新鞋(‘Jadon Doc Martens’、‘250’、‘季节靴’),
新款鞋(“阿迪达斯X Ghosted”、“110”、“运动鞋”),
新款鞋(“Nike Vapourmax Flyknit”、“250”、“休闲鞋”),
新鞋('Aldo Loafers','130','Formal'),
新鞋(‘Timberlands’、‘199’、‘季节靴’),
新鞋(‘匡威高帮’、‘70’、‘休闲’),
新鞋款(‘匡威低帮’、‘80’、‘休闲’),
新款鞋(“阿迪达斯NMDs”、“110”、“运动鞋”),
新鞋(“高跟鞋”、“130鞋”、“正式鞋”),
新鞋款('Nike AirForce'、'150'、'休闲')
];
功能泡泡运动鞋{
var互换;
做{
交换=假;
对于(var i=0;i+鞋[i+1]。价格){
var temp=鞋[i];
鞋[i]=鞋[i+1];
鞋[i+1]=温度;
交换=真;
}
}
}while(交换);
退鞋;
}
泡泡运动鞋;
log('Bubble Sort:\n',shoes);

这是一个完美的循环工作。您必须创建生成随机名称、价格和类型的助手函数

对于
名称
,我们将使用:

function randomName(n) {
  let letters = "abcdefghijklmnopqestuvwxyz";
  let name = "";
  
  for(let i = 0; i < n; i++) {
    name += letters[Math.floor(Math.random() * letters.length)];
  }

  return name;
}
function randomNumber(min, max) {
  return Math.floor(Math.random() * (max - min) + min);
}
对于
类型
,我们将只使用
randomName

然后我们使用
for
循环来填充
shoes
数组,如下所示:

var shoes = [];

for(let i = 0; i < 10000; i++) {
  shoes.push(new Shoe(randomName(20), randomNumber(50, 5000), randomName(7)));
}
var=[];
for(设i=0;i<10000;i++){
鞋。推(新鞋(随机名称(20)、随机编号(505000)、随机名称(7));
}
演示:

class鞋{
构造函数(名称、价格、类型){
this.name=名称;
这个价格=价格;
this.type=type;
}
}
函数名(n){
let letters=“abcdefghijklmnopqestuvxyz”;
让name=“”;
for(设i=0;i控制台。原木(鞋)编写一个创建随机鞋的函数,并在循环中调用它

class鞋{
构造函数(名称、价格、类型){
this.name=名称;
这个价格=价格;
this.type=type;
}
}
函数随机字(长度){
让单词=”;
const chars=“abcdefghijklmnopqrstuvxyz”;
让last_space=true;
for(设i=0;i
class鞋{
构造函数(名称、价格、类型){
this.name=名称;
这个价格=价格;
this.type=type;
}
}
名称=[“耐克”、“阿迪达斯”、“彪马”];
类型=[“跑步”、“休闲”、“步行”、“训练”];
价格范围=[11000];
常数=[];
常数numberOfShoes=10;
const randomInteger=()=>parseInt(Math.random()*(pricesRange[1]-pricesRange[0])+pricesRange[0])
常数randomArrayItem=arr=>{
const randomIndex=parseInt(Math.random()*(arr.length-1));
返回arr[随机索引];
}
for(设i=0;irandomShoes.forEach(shoe=>console.log(shoe))您可以创建10000双鞋的数组,每双鞋的随机价格如下:

class鞋{
构造函数(名称、价格、类型){
this.name=名称;
这个价格=价格;
this.type=type;
}
}
var名称=[“Nike Air Max 90”、“Jordan Retro 1”、“Jadon Doc Martens”];//可以更
变量类型=[“休闲”、“运动”、“正式”];//可以更
var=[];
对于(变量i=0;i<10000;i++){
推(新鞋)(
名称[Math.floor(Math.random()*names.length)-1],
Math.floor(Math.random()*10000),
类型[Math.floor(Math.random()*names.length)-1])
);
}

console.log(shoes)
@Barmar我试过这么做,但我想我打错了,或者是因为它没有效果。这仍然被认为是一个对象数组,对不起,我是一个完全的新手,那么“const”是什么意思?是的,这是一个对象数组。const与var类似,只是用const声明的变量可能不会被分配新值,或者会出现错误。然后,如果我必须进行冒泡排序,我只会继续右下方的排序?如果我这样做,我应该删除我的类还是删除我的“shoes”数组?@28space\u junkie你应该保留类定义。只要用我的代码替换代码
var=[/*所有这些行*/]
。查看演示:了解应该替换什么的代码。根据SO指南,最好问一个新问题。还请记住将@ibrahimmahrir的答案标记为正确的@28space\u瘾君子,不客气!至于二进制搜索问题。这应该是一个单独的问题。先想一想,然后再创造