如何用JavaScript在同一行生成彩票模拟随机数?
解决彩票模拟算法的单行输出问题
你原来的代码每次循环都会单独打印标签和数字,导致输出分散成多行。可以通过先收集所有生成的数字,再一次性格式化输出的方式解决:
// 生成5个1-50的数字并收集 const numbers = []; for (let i = 1; i <= 5; i++) { numbers.push(Math.floor(Math.random() * 50) + 1); } // 生成2个1-10的数字并收集 const stars = []; for (let i = 1; i <= 2; i++) { stars.push(Math.floor(Math.random() * 10) + 1); } // 格式化输出 console.log(`Numbers: ${numbers.join(' - ')}`); console.log(`Stars: ${stars.join(' - ')}`);
说明:
- 用数组
numbers和stars分别存储两类随机数,避免循环中频繁打印 - 最后用
join(' - ')把数组里的数字用-连接成字符串,再和标签组合后一次性打印 - 输出效果和你期望的一致:
Numbers: 10 - 8 - 50 - 44 - 21 Stars: 2 - 7
内容的提问来源于stack exchange,提问作者imnesslol
相关产品推荐
相关产品推荐

