如何有条件地呈现逗号和句点?

Posted

技术标签:

【中文标题】如何有条件地呈现逗号和句点?【英文标题】:How to conditionally render commas and periods? 【发布时间】:2019-10-03 06:16:47 【问题描述】:

我有三个要按条件渲染的项目,我希望能够在它们之间渲染逗号,如果是最后一个要渲染的内容,则使用句点。

this.state.a&&i++    
this.state.b&&i++  
this.state.c&&i++                  
this.state.a && (i==1?"item a.":"item a,")
this.state.b && (i==2?"item b.":"item b,")
this.state.c && (i==3?"item c.":"item c,")

所以这显然不起作用,因为当 i=1 时,其他项目可能是唯一的项目,当 i=2 时,第三个项目可能需要一个句点,依此类推。它看起来像一个有很多条件要检查,我假设必须有更简单的方法来做到这一点?

【问题讨论】:

【参考方案1】:

你可以在这里得到数组的帮助。

const newArray = [];
this.state.a && newArray.push('item a');
this.state.b && newArray.push('item b');
this.state.c && newArray.push('item c');

if (newArray.length) 
  console.log(`$newArray.join(',').`);
 else 
  console.log('No items present.');

我希望这对你有用。

【讨论】:

以上是关于如何有条件地呈现逗号和句点?的主要内容,如果未能解决你的问题,请参考以下文章

从字符串中删除非数字字符(不包括句点和逗号)(即删除除数字、逗号和句点之外的所有字符)

如何在excel中将句点符号从点更改为逗号

逗号和美元价格中没有句点

使用 VBA 将逗号小数转换为句点小数

如何有条件地删除 R 中 write.csv 中的双引号

是啥导致 LIKE 语句忽略 html 标记、逗号后的单词或以句点结尾?