Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jquery/javascript在字符串中合并值_Javascript_Jquery - Fatal编程技术网

使用jquery/javascript在字符串中合并值

使用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

我正在使字符串包含值。我有公司名称、产品及其价值。我想将这些值存储在字符串中,但若用户选择同一公司的同一产品,那个么我只想附加产品no only

当前字符串值
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门]。如何合并相同的值。希望这能有所帮助。它将转换
数组中的
索引值
。如果有帮助,请选择投票箭头旁边的绿色复选框。我不会为您编写代码,但再举一个例子,一秒钟。为您添加另一个解释,以及用例。谢谢。我会像你提到的那样使用对象。希望这能解决我的问题