- 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功能但无法正常工作。
答案 0 :(得分:2)
您可以在创建Math.abs
本身
abc
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
转换为数字,例如s类型为"string"