網路上有很多例子,關于洗掉尾隨和前導零。但他們都在使用正則運算式。
sample.toString().replace(/^0 /,'').replace(/0 $/,'');
有沒有辦法在不使用正則運算式的情況下洗掉它們?因為正則運算式容易發生 ddos??,
基于聲納。
https://rules.sonarsource.com/javascript/RSPEC-5852
uj5u.com熱心網友回復:
也許有更好的解決方案,但我提出了這個:
const test = "0032540140043000";
const removeTrailingZeros = (str) => {
let result = `${ str}`;
while (result.at(-1) === "0") {
result = result.slice(0, -1);
}
return result;
};
console.log(removeTrailingZeros(test)); // 32540140043
解釋: str將字串決議為數字時洗掉前導“0”,因為 JS 更123喜歡0123. 然后,一個小回圈來洗掉這個字串上的尾隨“0”。然后,回傳字串。
uj5u.com熱心網友回復:
如果您不使用正則運算式,那么您將不得不從兩端逐個字符地迭代字串。實際上,如果您使用正則運算式替換,這是一個很好且簡潔的選擇:
sample.toString().replace(/^0 |0 $/g, "");
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/518047.html
上一篇:表格未定義問題?
