使用jquery/javascript在字符串中合并值
我正在使字符串包含值。我有公司名称、产品及其价值。我想将这些值存储在字符串中,但若用户选择同一公司的同一产品,那个么我只想附加产品no only 当前字符串值使用jquery/javascript在字符串中合并值,javascript,jquery,Javascript,Jquery,我正在使字符串包含值。我有公司名称、产品及其价值。我想将这些值存储在字符串中,但若用户选择同一公司的同一产品,那个么我只想附加产品no only 当前字符串值TATA#434#tyre,TATA#234#door,TATA#687#tyre,应为 TATA#434,687#tyre,TATA#234#door 正如我们可以看到用户选择同一家公司生产相同的产品,只有产品编号是不同的,所以我们只需要附加产品编号 若客户选择了所有四种产品,那个么字符串应该这样读 TATA#434,687#tyr
TATA#434#tyre,TATA#234#door,TATA#687#tyre,
应为
TATA#434,687#tyre,TATA#234#door
正如我们可以看到用户选择同一家公司生产相同的产品,只有产品编号是不同的,所以我们只需要附加产品编号
若客户选择了所有四种产品,那个么字符串应该这样读
TATA#434,687#tyre,TATA#234#door,Maruti#8776#door
公司和产品可以增加。同样在最后一个条目中,如何删除“,”
这是附件
代码
var str="";
$('a').click(function(){
var el= $(this).parent();
str += el.find('#brand').text() + "#" + el.find('#no').text() + "#" + el.find('#product').text() +",";
console.log(str)
})
我真正的建议是使用
对象
。为什么?因为它让你的数据操作变得容易多了,我的朋友
使用类似于:
function car(val1,val2,val3,val4) {
this.val1 = val1;
this.val2 = val2;
this.val3 = val3;
this.val4 = val4;
}
现在我们可以用:
var item1 = new car("TATA#434","687#tyre","TATA#234#door","Maruti#8776#door");
现在你可以随心所欲地改变。
如果您想进一步了解如何以您建议的格式显示,非常乐意提供帮助
您的解决方案涉及许多RegEx
。。。这会很快变酸。作为一名大型开发人员,如果您的值将来有可能改变格式,我建议您不要这样做
使用数组: 这里有一个用例:
var item1 = new car("TATA#434","687#tyre","TATA#234#door","Maruti#8776#door");
编辑: 您可以按如下方式加入阵列:
var a = ["TATA#434","687#tyre","TATA#234#door","Maruti#8776#door"];
function display(x){
alert(x);
}
var b = a.join(',');
alert(b);
查看此处:为什么不将其存储在对象中 这就是我将如何储存它
{TATA:{434:'tyre',234:'door'},Maruti:{8776:'door'}}
如果需要将其用作字符串,请在需要时循环构造字符串
编辑:
我不确定确切的背景,但也许这会有意义:
{TATA:{tyre:[434687],door:[234]},Maruti:{door:[8776]}}
或
{tyre:{TATA:[434687]},door:{Maruti:[8776],TATA:[234]}
如果要实现csv
格式,为什么不使用数组?这将使它更容易。。。当需要显示时,您可以随时使用.join()
将其显示。“我想将这些值存储在字符串中”-将值存储在字符串中已经是一种错误的方法。选择合适的数据结构进行存储;只有在必须显示时才将其设置为字符串。我使用数组来实现此目的,但不获取如何获得所需结果的逻辑,如上所述。很好,array
就是这样。一秒钟后,我得到的结果是这样的:[“塔塔轮胎”,“塔塔234门”,“塔塔687轮胎”,“马鲁蒂8776门]。如何合并相同的值。希望这能有所帮助。它将转换数组中的索引值
。如果有帮助,请选择投票箭头旁边的绿色复选框。我不会为您编写代码,但再举一个例子,一秒钟。为您添加另一个解释,以及用例。谢谢。我会像你提到的那样使用对象。希望这能解决我的问题