簡體   English   中英

使用jQuery用方括號()替換減號

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM