[英]replace minus sign with brackets() using jquery
--html--
<table>
<tr>
<th>a</th>
<th>b<th>
</tr>
<tbody class = "tabledata">
<tr>a</tr>
<tr>b</tr>
</tbody>
</table>
--jquery--
$('.tabledata').empty();
for (var i = 0; i < result.length; i++) {
var abc = '<tr><td>' + result[i]['a'] + '</td><td>' + result[i]['b'] + '</td></tr>'
//var results = abc.replace(/-(.*)/, "()");
$('.tabledata').append(abc);
}
結果中帶有取性值,例如-245.1,-897.7。 我想將它們更改為(245.1)和(897.7)。 我已經嘗試過.replace函數,但是無法正常工作。
您可以在創建abc
本身時使用Math.abs
var a = "(" + Math.abs( result[i]['a'] ) + ")";
var b = "(" + Math.abs( result[i]['b'] ) + ")";
var abc = '<tr><td>' + a + '</td><td>' + b + '</td></tr>'
或進行一些重構以使代碼不太冗長
var fnAbs = ( s ) => "(" + Math.abs( s ) + ")";
var abc = '<tr><td>' + fnAbs( result[i]['a'] ) + '</td><td>' + fnAbs( result[i]['b'] ) + '</td></tr>';
如果您不想用()
包裝非負值,則將fnAbs
更改為
var fnAbs = ( s ) => +s < 0 ? "(" + Math.abs( s ) + ")" : s;
注意
+s < 0
,如果s為"string"
類型,則在比較之前將s
轉換為Number
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.