替换影响数组中的所有字符串

时间:2019-02-17 10:13:38

标签: javascript

我在更换时遇到一些问题。我正在从数据库中获取一些整数。并且如果获取的数字是 just 1 ,那么我将其替换为“空”,但是当我这样做时,它将影响其中所有包含1的数字。

这就是我在做什么,首先打电话给toString,然后打电话给replace

<tr v-if="moreIndex < one.length"  v-for="moreIndex in morePro">
  <td>{{one[moreIndex].products}}</td>
  <td>{{priceSep(one[moreIndex].price).toString().replace("1", "empty")}}</td>
</tr>

因此,我将“ 1”更改为空,但是如果其他任何数据包含“ 1”,则输出如下所示……

5empty98  

如何解决此问题?

3 个答案:

答案 0 :(得分:2)

您可以使用Conditional (ternary) operator 检查长度。:

<td>{{priceSep(one[moreIndex].price).toString().length == 1 ? priceSep(one[moreIndex].price).toString().replace("1", "empty") : priceSep(one[moreIndex].price).toString()}}</td>

可能的是,如果值是1,则可以尝试直接设置该值。

<td>{{priceSep(one[moreIndex].price).toString() == "1" ? "empty" : priceSep(one[moreIndex].price).toString()}}</td>

答案 1 :(得分:1)

您可以在替换之前检查字符串的长度

{{priceSep(one[moreIndex].price).toString().length > ? 
  priceSep(one[moreIndex].price).toString() :
  priceSep(one[moreIndex].price).toString().replace("1", "empty")
}}

答案 2 :(得分:0)

您可以使用RegExp:

{{priceSep(one[moreIndex].price).toString().replace(/^1$/, "empty")}}