Math.random()到数组

时间:2014-05-23 13:16:44

标签: javascript

问题

我正在寻找一种解决方案,将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”应该被排除在数组之外。

5 个答案:

答案 0 :(得分:6)

将数字从Math.random转换为字符串,在句点上拆分,弹出最后一部分,拆分成数组,如果需要返回整数而不是字符串,则使用map。

Math.random().toString().split('.').pop().split('').map(Number);

FIDDLE

答案 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)

http://jsfiddle.net/n6xLN/1/

编辑我的答案,将数字放入数组而不是字符串。

答案 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;
}