我有一个包含数字的变量
var simpleNumber = 012345678;
我想.split()
这个数字并创建一个每3个数字
数组应该如下所示
[012, 345, 678]
var splitedArray = simpleNumber.toString().split(/*how do i split this?*/);
它是getRGB(“ffffff”)函数的一部分,所以我不知道将传入什么。
由于
答案 0 :(得分:12)
您可以尝试:
var splittedArray = "012345678".match(/.../g);
function tridigit(n) {
return n.toString().match(/.{1,3}/g);
}
请注意,如果您为数字加前一个零,则它将以八进制解释。八进制文字已被正式弃用,但目前仍受支持。在任何情况下,数字都没有前导零,因此当您将数字转换为字符串时,它不会出现。
在Safari和FF上进行测试,前导0和8或9的数字在基数10中解释,因此八进制转换可能不是您的具体示例的问题,但在一般情况下这将是一个问题
答案 1 :(得分:0)
试试这个
var num = 123456789+"";// converting the number into string
var x1=num[0]+num[1]+num[2];//storing the individual values
var y1=new Array(x1);// creating a first group out of the first 3 numbers
var x2=num[3]+num[4]+num[5];
var y2=new Array(x2);// creating a second group out of the next 3 numbers
var x3=num[6]+num[7]+num[8];
var y3=new Array(x3);// creating a third group out of the next 3 numbers
var result=y1.concat(y2,y3);// concat all the 3 array
document.write(result);you get the output in the form of array
document.write("<br/>");
document.write(result[0]);
document.write("<br/>");
document.write(result[1]);
document.write("<br/>");
document.write(result[2]);
查看以下链接,了解工作示例http://jsfiddle.net/informativejavascript/c6gGF/4/