JavaScript中数字序列的表示

JavaScript中数字序列的表示,javascript,Javascript,这个数字序列数组可以用比这个更少的字符(不包括空格)来表示吗 i = [0,1,2,3,4,5,6,7,8,0,3,6,1,4,7,2,5,8,0,4,8,6,4,2]; 52查尔 或者一个函数i,它返回52个字符以下的相同值 其目的是减少用于表示代码的字符数。i='01234567803616147258048642'。拆分 i='012345678036147258048642'。拆分 我不一定推荐这个。。。因为我认为你不应该破坏字符串对象,但理论上你可以这样做: 因此,如果排除初始原型,

这个数字序列数组可以用比这个更少的字符(不包括空格)来表示吗

i = [0,1,2,3,4,5,6,7,8,0,3,6,1,4,7,2,5,8,0,4,8,6,4,2];
52查尔

或者一个函数i,它返回52个字符以下的相同值


其目的是减少用于表示代码的字符数。

i='01234567803616147258048642'。拆分

i='012345678036147258048642'。拆分

我不一定推荐这个。。。因为我认为你不应该破坏字符串对象,但理论上你可以这样做:

因此,如果排除初始原型,对于相同大小的列表,未来的任何调用都将是33个字符。。。因为我认为你不应该破坏字符串对象,但理论上你可以这样做:


因此,如果排除初始原型,对于相同大小的列表,未来的任何调用都将是33个字符

它的开销比任何转换过程都少

但是一种快速转换一串数字的方法

一系列的数字吸引了我邪恶的双胞胎

String.prototype.dA= function digitArray(){
    return eval('['+this.replace(/(\d)/g,'+$1,')+']');
}

i='012345678036147258048642'.dA;34个字符

// test i
for(var j= 0, L= i.length; j<L;j++){
    i[j]= i[j]+' ('+typeof i[j]+')';
}
i.join(', ')
/*返回值: 0号、1号、2号、3号、4号、5号、6号、7号、8号、0号、3号、6号、1号、4号、7号、2号、5号、8号、0号、4号、8号、6号、4号、2号
*/我总是使用逗号分隔的数组

它的开销比任何转换过程都少

但是一种快速转换一串数字的方法

一系列的数字吸引了我邪恶的双胞胎

String.prototype.dA= function digitArray(){
    return eval('['+this.replace(/(\d)/g,'+$1,')+']');
}

i='012345678036147258048642'.dA;34个字符

// test i
for(var j= 0, L= i.length; j<L;j++){
    i[j]= i[j]+' ('+typeof i[j]+')';
}
i.join(', ')
/*返回值: 0号、1号、2号、3号、4号、5号、6号、7号、8号、0号、3号、6号、1号、4号、7号、2号、5号、8号、0号、4号、8号、6号、4号、2号
*/

如果只是0到9之间的数字:012345678036147258048642。对于其他基数,您可以使用不同的编码。如果您能从更大的角度解释此位的工作原理,我们可能会提供更好的选择。如果它只是介于0和9之间的数字:01234567803616147258048642。对于其他基,您可以使用不同的编码。如果您能解释此位的工作原理,从更大的角度来看,我们可能能够提供更好的选项。这很好,但返回的是字符数组而不是整数数组。如果在该数组中循环,则添加parseInt仍将是49个字符;是的,但是parseInt会重复多次,我有不止一个对iis的引用。有没有办法在简洁的代码中将字符数组转换为整数数组?@dev null allender,用+代替parseInt怎么样-这很好,但是返回一个字符数组而不是整数数组。如果在这个数组中循环,添加parseInt仍然是49个字符;是的,但是parseInt会重复多次,我有不止一个对iis的引用。有没有办法在简洁的代码中将字符数组转换为整数数组?@dev null allender,用+代替parseInt怎么样-
// test i
for(var j= 0, L= i.length; j<L;j++){
    i[j]= i[j]+' ('+typeof i[j]+')';
}
i.join(', ')