【问题标题】:Insert a Text Element at Each First Position of a Comma Separated String在逗号分隔字符串的每个第一个位置插入一个文本元素
【发布时间】:2020-11-13 10:21:30
【问题描述】:

我有一个主题标签输入字段 (Input Field),它保存输入逗号分隔。现在的问题是人们并不总是输入“#”。这就是为什么我想在之后输入的每个单词前面添加它。

不幸的是,我在创建一个函数时遇到了麻烦,该函数可让您在每个单词前添加一个“#”,而字符串是逗号分隔的(不是数组)。

有谁知道如何做到这一点?

谢谢!

【问题讨论】:

  • 请显示代码

标签: javascript html forms function


【解决方案1】:

假设你的字符串是hashtags, 你可以试试

var corrected = hashtags.split(',') // separate by comma
  .map( word => "#" + word ) // add # to all
  .join(',') // recreate the string

但您可能需要检查是否已经有 # 号,这样会更好

var corrected = hashtags.split(',') // separate by comma
  .map( word => word[0] == "#" ? word : "#" + word ) 
     // add # to those who don't start with #
  .join(',') // recreate the string

【讨论】:

  • 感谢您的回答。我尝试了以下代码: var correct = hashtags.split(',');更正的地图(字=>字[0]==“#”?字:“#”+字);更正.join(',');警报(已更正);但不幸的是,它并没有起作用。警报显示相同的输入,没有任何变化。有什么想法吗?
  • 你需要在一个变量中获取.map的结果,你在split()和不起作用的map之间添加了;
  • .map 不修改数组,而是返回一个新数组,.join 返回一个新字符串也是如此,保持代码不变或添加var corrected2 = corrected.map...
  • 对不起!我知道了。感谢您的回复!
猜你喜欢
  • 1970-01-01
  • 2013-07-27
  • 2022-11-27
  • 2012-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-08
  • 1970-01-01
相关资源
最近更新 更多