gpt4 book ai didi

javascript - 当数组中的一项是带逗号的字符串时,将数组拆分为字符串列表

转载 作者:行者123 更新时间:2023-11-28 17:41:53 30 4
gpt4 key购买 nike

要从数组在显示字段中创建列表,我使用以下代码将数组项与逗号“,”分开:

'fragrance_list': ["fragrance one" , "fragrance two", "fragrance seven"; 

xtype: 'displayfield',
name: 'fragrance_list',
bind: '{record.fragrance_list}',
renderer: function (value, field) {
if (value && value.indexOf(',') > -1) {
this.rndTpl = this.rndTpl || new Ext.XTemplate('<div style = "line-
height: 150%;' +
'margin-left: -25px; margin-top: -12px; padding-left: 5px; padding-
right: 5px;">' +
'<ul><li>{[values.fragrance_list.replace(/,/g, "<li/>")]}</li></ul>'
+
'</div>');

return this.rndTpl.apply({
fragrance_list: value
});

} else {
return '&nbsp' + value
}
}

返回类似:

. fragrance one
. fragrance two
. fragrance seven

问题是当数组项之一(可能位于数组的不确定位置)的字符串中包含一个或多个逗号时:

'fragrance_list': ["fragrance one" , "fragrance two", "fragrance A, n.º 5", "fragrance 7"; 

返回

. fragrance one
. fragrance two
. fragrance A
. n.º 5
. fragrance 7

相反

. fragrance one
. fragrance two
. fragrance, n.º 5
. fragrance 7

有什么想法可以解决这个问题吗?

最佳答案

我不完全确定您的代码的结构,但如果您要剪切一个长字符串,您可以将引号本身添加到正则表达式中:

 '<ul><li>{[values.fragrance_list.replace(/" {0,}, {0,}"/g, "<li/>")]}</li></ul>'

因此正则表达式将匹配:

  • 单曲,(/"部分)。
  • 零个或更多空格('{0,}' 部分)。
  • 单个逗号(',' 部分)。
  • 零个或更多空格('{0,}' 部分)。
  • single qute("/ 部分)。

但是,如果您尝试通过数组中的值构建列表(即使它是一个只有一个元素的数组),那么正确的方法是使用 map 函数来实现:

arrOfData.map( function(dataUnit){
renderString += "<li>" + dataUnit + "</li>";
});

或者使用 es6 语法

arrOfData.map( dataUnit => renderString += `<li>${dataUnit}</li>`);

关于javascript - 当数组中的一项是带逗号的字符串时,将数组拆分为字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47743162/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com