在反向字符串javascript中保持零值

在反向字符串javascript中保持零值,javascript,Javascript,我希望在javascript中反转字符串并保持零值 function reverseNumb(a) { let reverse = Array.from(String(a),Number).reverse(); return Number(reverse.join('')); } reverseNumb(01234567); 它会不断删除0,如果添加0,则会给出一个完全不同的数字 希望它保持数字为零,并且不将值更改为与添加数字0不同的值 当您查看一个数据类型时,如果它有一个前

我希望在javascript中反转字符串并保持零值


function reverseNumb(a) {
  let reverse = Array.from(String(a),Number).reverse();
    return Number(reverse.join(''));
}

reverseNumb(01234567);

它会不断删除0,如果添加0,则会给出一个完全不同的数字

希望它保持数字为零,并且不将值更改为与添加数字0不同的值

当您查看一个数据类型时,如果它有一个前导零,那么零将被忽略为无意义,任何帮助都将不胜感激。如果你说的是以10为基数的数字系统,而不是二进制、八进制、十六进制或其他任何形式,
0100
,甚至
000000100
,两者都等于
100
。因此,
01234567
被正确地读取并作为一个数字存储为
1234567


编辑:这里需要澄清的是,在实际代码中,如果您没有明确表示自己在基数10中,则在某些操作中,前导的
0
将导致读取数字并将其存储为八进制值(如果前导的
0
后跟
x
,则为十六进制值)。因此,
let num=0100
语句导致
num
在松散模式下保存,值为
64
,在严格模式下抛出一个语法错误。然而,
parseInt(“0100”,10)
Number(“0100”)
“0100”| 0
+“0100”
都等于
100


如果希望保留前导零,最好将数据表示为,只需将其用引号括起来即可:
reverseEnums(“01234567”)
。如果需要函数返回也包含前导零的数字,则需要返回一个字符串,只需不将其转换为return语句中的数字即可:
return rev.join(“”)

但是,由于您现在使用字符串作为输入,您可以编写一个更简单的字符串反转函数,方法是使用from the string对象首先将输入转换为数组,然后链接其余方法,如下所示:

功能反向限制(str){
返回str.split(“”).reverse().join(“”);
}
您还可以使用现代、不太冗长的ES6+语法编写字符串反转函数,方法如下:

const reverseString=str=>str.split(“”).reverse().join(“”);

正如其他答案中已经讨论过的,我们不能用数字代替字符串,您可以如下所示

var reverse=num=>num.toString().split(“”).reverse().join(“”)
控制台日志(反向(“012345”))

console.log(反向(“543210”))
什么不起作用?请添加想要的结果。添加的不想要的结果
01234567
不是字符串。这是你的答案,这是一个前导零问题是的,这是我的答案,这是一个前导零问题。很好地发现。“因此,正确地读取数字01234567,并将其存储为数字1234567。”不,不,不在JavaScript中。:-)它要么是传统的八进制文字(松散模式),要么是语法错误(严格模式)。但是你的主要观点当然是正确的。回过头来直接阅读前面的句子,我说,“如果你说的是10进制的数字系统,而不是二进制或八进制…”你在技术上是正确的,尽管如果你写
let num=0100
它将被保存为
64