问题
我正在寻找一种解决方案,将Math.random()生成的数字转换为数组。
示例
Math.random() returns 0.5353263858705759
I now want to convert this number to [5,3,5,3,2,6,3,8,5,8,7,0,5,7,5,9]
条件
请注意第一个“0”应该被排除在数组之外。
答案 0 :(得分:6)
将数字从Math.random
转换为字符串,在句点上拆分,弹出最后一部分,拆分成数组,如果需要返回整数而不是字符串,则使用map。
Math.random().toString().split('.').pop().split('').map(Number);
答案 1 :(得分:1)
尝试
Math.random().toString().slice(2).split('')
使每个元素成为实际数字而不是字符串
Math.random().toString().slice(2).split('').map(Number);
答案 2 :(得分:0)
非常简单,方便:
var random = Math.random().toString().split(".")[1].split("").map(Number);
console.log(random)
编辑我的答案,将数字放入数组而不是字符串。
答案 3 :(得分:-1)
只需转换为字符串然后只读为数组:
var n=Math.random().toString();
for(var i=2;i<n.length;i++)
alert(n[i]);
希望它有所帮助!
答案 4 :(得分:-1)
var n = Math.random() * 10.0;
while (n != 0.0)
{
myArray.push(Math.floor(n));
n *= 10.0;
}