【问题标题】:splitting string values using javascript使用 javascript 拆分字符串值
【发布时间】:2021-04-06 15:51:01
【问题描述】:

我有一串单词(项目名称)从我设置的数据库传递到我的前端。这一切都很好,但我在我的 html 表格中,我有一个循环中的项目名称,所以如果有多个项目,项目名称会粘在一起,如下所示: Item name1Item name2

我使用 ejs 循环将它们传递到前端,并使用 将数据库中的值传递到该特定行中。所以它们总是根据项目名称而变化。一个例子: 我需要他们像Item name1, Item name2

到目前为止,我的脚本中有这个。

var itemNameSplit = '<%= data[i].ITEMNAME %>';
var splitResponse = itemNameSplit.split(" ");
document.write("<td>" + splitResponse + "</td>")

但是,这会在每个单词之后放置一个逗号,而不是项目名称的结尾,如下所示:

Item,name,1Item,name,2

再次,我需要它

Item name1, Item name2

我不知道该怎么做,在此先感谢您的帮助!非常感谢:)

【问题讨论】:

  • 你好Item name1(here)Item name2之间没有空格?
  • 是的,我的物品是这样放在一起的:All Purpose ShineBlue Rubber on Grey Polly Cotten Gloves
  • 您的数据没有一致性!我相信您从该服务收到的数据应该得到管理。不是来自前端。
  • 我只是在做一个简单的select * from table 并传递数据,然后将数据传递到前端并使用 ejs 在表格中显示。不知道如何从后端管理它,除非有办法在 nodejs 后端拆分数据,否则它可能会工作
  • 每个&lt;%= data[i].ITEMNAME %&gt;之后是否只需要一个逗号和一个空格?

标签: javascript html jquery node.js ejs


【解决方案1】:

这个怎么样

var splitResponse = itemNameSplit.split("Item").join(", Item").replace(", ", "");

【讨论】:

  • 物品名称是上面一般意义上的,可以变化
  • 我试过你说的@blaz,结果和以前一样All Purpose ShineBlue Rubber on Grey Polly Cotten Gloves
  • @Gianluca 我相信您需要在问题中提供更通用的数据样本。我误解了你所有的分隔数据都以“项目”开头,评论部分也有其他相同的假设。
  • 当然!为混淆道歉。我编辑了我的问题
【解决方案2】:

//我误读了这个问题 - 这只是在 2 的循环中产生 1 个逗号,一个空格

  a="Item,name,1Item,name,2"
    b=a.split(",")
    c=b.reduce((accumulator, currentValue, currentIndex, array) =>{
      return currentIndex % 2 ?(accumulator + " " +  currentValue) :(accumulator + "," +  currentValue)
    })
    
    
    console.log(c)
    //Item name,1Item name,2

【讨论】:

  • 我用 a 变量 = &lt;%= data [I].ITEMNAME %&gt; 尝试了这个,它返回了相同的响应。我认为唯一可行的方法是在有连词的地方将字符串拆分...
猜你喜欢
  • 1970-01-01
  • 2012-05-14
  • 1970-01-01
  • 1970-01-01
  • 2015-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多