大家好,我面临着解决问题的问题。问题如下: 使用 1-99 范围内的随机值创建长度为 10 的数组。然后计算十位值并 将其显示为连续的*。尝试在这个问题上保持逻辑性,不要对这部分进行硬编码,例如。 >0 且<10。想想如何在不使用相同代码的情况下实现更大的范围(例如 1-999) 增加代码长度。例如: o 如果 array = [9,19,28,29,45,50,51,52,86,97] 则显示: 0-9:* 10-19:* §20-29:** 30-39: 40-49:* 50-59:*** 60-69: 70-79: 80-89:* 90-99:*
到目前为止,我只能执行以下操作:
// console.log(Math.random()*(100-0)+ 0);
const totalNumber = 10;
let arr = [];
for(i=0;i<=totalNumber;i++){
let random = Math.random()*(100-0)+ 0; //getting random value
arr.push(Math.round(random)); //pushing it with round value
}
//sorting it
arr.sort();
console.log(arr)
最佳答案
我这样完成这个任务
const totalNumber = 10;
let arr = [];
let objects= {}
for(i=0;i<=totalNumber;i++){
let random = Math.random()*100;
arr.push(Math.round(random));
}
arr.sort();
for(i=0;i<totalNumber;i++){
objects[`${i*10}-${((i+1)*10)-1}`]=arr.filter(x=>((i+1)*10)>x)
objects[`${i*10}-${((i+1)*10)-1}`]=
objects[`${i*10}-${((i+1)*10)-1}`].filter(x=>x>=(i*10))
}
for (const key in objects) {
if(objects[key].length===0){
delete objects[key]
}
}
console.log(objects)
关于javascript - 如何使用javascript解决连续问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60455313/