简体   繁体   English

如何从 Javascript 中的数字数组中删除前导零

[英]How to remove leading zeros from the Array of Numbers in Javascript

 let array = [000232, 0043, 0000454523, 0234]

Expected output: [232, 43, 454523, 234]预期 output: [232, 43, 454523, 234]

There are lots of ways, where we can remove leading zeros if it is a string or arrays of strings.有很多方法,如果它是字符串或字符串的 arrays,我们可以删除前导零。

arr.map( (value) => { console.log(parseInt(value, 10) )})

So, what I tried, to convert those Array of numbers to string values:因此,我尝试将这些数字数组转换为字符串值:

1. array.map(String);
2. array.join().split(',');

But it's not working as expected.但它没有按预期工作。

Any help would be appreciated.任何帮助,将不胜感激。

With leding zero, you use octal numbers .使用前导零,您使用八进制数 To get decimals, you need to convert back to octals and parse this values as decimal numbers.要获得小数,您需要转换回八进制并将此值解析为十进制数。

This approach works only on an array of octal numbers.此方法仅适用于八进制数数组。 It is not possible, to check if a value is taken from an octal literal.不可能检查一个值是否取自八进制文字。

 let array = [000232, 0043, 0000454523, 0234], values = array.map(n => parseInt(n.toString(8), 10)); console.log(values);

Try this:尝试这个:

 let tmpArray = [000232, 0043, 0000454523, 0234]; let row1 = tmpArray.map(function (val) { return Number(val.toString(8)); }); console.log(row1);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM