使用Javascript查找非零数字的最后一个索引

你怎么能find最后一个数字/string在JavaScript中的非零数字? 这样,我们就可以将一个零填充的数字分成实际的数字和零填充。 任何JS / Node库都可以使用。

尝试使用.lastIndexOf()但没有find一种方法来定义一个非零数字。

input

 1.23400 1.00050 1.03456 

产量

 ['1.234', '00'] ['1.0005', '0'] ['1.03456'] 

使用正则expression式:

/^([0-9]+\.?[0-9]*?)(0*)$/

 /^([0-9]+\.?[0-9]*?)(0*)$/.exec('1.23400'); // return ["1.23400", "1.234", "00"] /^([0-9]+\.?[0-9]*?)(0*)$/.exec('1.03456'); // return ["1.03456", "1.03456", ""] 

你也可以使用parseFloat,如果你通过得到数字的有意义的部分来获得利益。

 parseFloat('1.23400') // return 1.234 

尝试这个 :

 '1.23400'.match(/^.*?(?=0*$)|0+$/g) // ^.*?(?=0*$) : everything before zero or more trailing zeros // 0+$ : one or more trailing zeros 

尝试这个:

 function lastIndexOfDigit(str) { var last_indices = []; [1, 2, 3, 4, 5, 6, 7, 8, 9].map(function (digit) { last_indices.push(str.lastIndexOf(digit)); }); var indices = last_indices.sort(function (a, b) { return a - b; }); return indices[indices.length - 1]; }