Javascript 生成随机相同对象
函数getRandomInt(最小值、最大值){ 返回Math.floor(Math.random()*(max-min+1))+min; } 函数init(){ var-resArr=[]; 对于(变量i=0;i<10;i++){ var obj=新对象(); obj.q=getRandomInt(3,5); obj.r=getRandomInt(1,10); 再推力(obj); } var str=‘乘法’; 对于(变量i=0;iJavascript 生成随机相同对象,javascript,arrays,object,Javascript,Arrays,Object,函数getRandomInt(最小值、最大值){ 返回Math.floor(Math.random()*(max-min+1))+min; } 函数init(){ var-resArr=[]; 对于(变量i=0;i
刷新
尝试使用方法。检查匹配的对象长度。并使用进行更改,而循环始终给出10
结果
已更新
函数getRandomInt(最小值、最大值){
返回Math.floor(Math.random()*(max-min+1))+min;
}
函数init(){
var-resArr=[];
var i=0;
while(true){
var obj=新对象();
obj.q=getRandomInt(3,5);
obj.r=getRandomInt(1,10);
如果(!resArr.filter(a=>a.q==obj.q&&a.r==obj.r).length>0){
再推力(obj);
i++;
}
如果(i==10){
打破
}
}
var str=‘乘法’;
对于(变量i=0;i
刷新
我创建了一个函数来检查数组中的重复对象
函数getRandomInt(最小值、最大值){
返回Math.floor(Math.random()*(max-min+1))+min;
}
功能检查重复(arr、obj){
对于(变量i=0;i
刷新
您可以使用哈希表,并在检查是否已插入后将所有随机组合插入其中
函数getRandomInt(最小值、最大值){
返回Math.floor(Math.random()*(max-min+1))+min;
}
函数init(){
var resArr=[],
散列={};
对于(变量i=0;i<10;i++){
var obj=新对象();
做{
obj.q=getRandomInt(3,5);
obj.r=getRandomInt(1,10);
}while(hash[[obj.q,obj.r].join(“|”)]
hash[[obj.q,obj.r].join(“|”)]=true;
再推力(obj);
}
var str=‘乘法’;
对于(变量i=0;i
刷新
你没听说过:{}!=={}
。我认为这不起作用,两个对象是不同的,即使它们具有相同的属性。是的,因为他正在创建一个新对象,include调用永远不会返回true。您需要检查新对象的q值和r值是否与所有现有对象的q值和r值匹配您检查它是否没有给出10个数字??