Javascript 每次将新行推送到数组时,编辑数组中的第一个值

Javascript 每次将新行推送到数组时,编辑数组中的第一个值,javascript,jquery,html,Javascript,Jquery,Html,我正在做一个字符串生成器,但最后一部分我被卡住了 我有一个带有一些输入字段的表。这个表可以克隆,所以我不知道有多少输入字段,可能是5、10、15等等 我使用一个函数循环表中的所有输入字段。所有这些行将放在一个数组中。然后我使用我的$(this).find(':input.generateinput')。每个函数将这些值推送到数组中。问题是我需要在每一新行的第一个值之后添加一个字符串 这是我的结果 1行:窗口:1:200:0:1需要:窗口:0:0.0000:1:200:0:1 两行:窗口:1:20

我正在做一个字符串生成器,但最后一部分我被卡住了

我有一个带有一些输入字段的表。这个表可以克隆,所以我不知道有多少输入字段,可能是5、10、15等等

我使用一个函数循环表中的所有输入字段。所有这些行将放在一个数组中。然后我使用我的
$(this).find(':input.generateinput')。每个
函数将这些值推送到数组中。问题是我需要在每一新行的第一个值之后添加一个字符串

这是我的结果

1行:
窗口:1:200:0:1
需要:
窗口:0:0.0000:1:200:0:1

两行:
窗口:1:200:0:1,门:1:100:0:2
需要:
窗口:0:0.0000:1:200:0:1,门:0:0.0000:1:100:0:2

等等

如您所见,需要添加的字符串是=
:0:0.0000
窗口:1:200:0:1
是一个由数组外的值组合在一起的字符串

我希望你明白我的意思,如果你不想问我的话

这是我正在使用的代码:

$('.generateString')。单击(函数(e){
e、 预防默认值();
var arrayProducts=新数组();
$('.tableProducts')。每个(函数(i){
if(阵列产品的类型[i]=“未定义”)
arrayProducts[i]=新数组();
$(this).find(':input.generateinput')。每个(函数(k){
//需要添加到新数组中每个第一项后面的字符串
var string=“:0:0.0000”;
arrayProducts[i].push($(this.val());
//下面是代码的最后一部分
});
});
var string=arrayProducts.join(“|”);
var productstring=string.replace(/,/g,“:”);
var optionstring=arrayOptions.join(“|”);
$('#optionstring').html(optionstring);
$('#productstring').html(productstring.split(/:(?=\D)/g.toString());
});

SKU:
违约:
默认数量:
用户定义:
职位:
对
不
不
对
删除
添加选项


generer string
您可以选中
index==0
并仅将自定义字符串添加到该数组值中。请参阅下面的片段,并将重点放在下面的语句上

arrayProducts[i].push($(this).val()+(k==0?string:''));// add string only for first indexed value
更新,对于第一个值,您可以通过不同的类
自定义
来区分它,比如下面的代码

arrayProducts[i].push(this.value+($(this).hasClass('custom')?string:''));
$('.generateString')。单击(函数(e){
e、 预防默认值();
var arrayProducts=新数组();
$('.tableProducts')。每个(函数(i){
if(阵列产品的类型[i]=“未定义”)
arrayProducts[i]=新数组();
$(this).find('.generateinput').each(函数(k){//在此处输入下拉列表
//需要添加到新数组中每个第一项后面的字符串
var string=“:0:0.0000”;
arrayProducts[i].push(this.value+($(this.hasClass('custom')?字符串:“”);
//下面是代码的最后一部分
});
});
var string=arrayProducts.join(“|”);
var productstring=string.replace(/,/g,“:”);
var optionstring=arrayProducts.join(“|”);
$('#optionstring').html(optionstring);
$('#productstring').html(productstring.split(/:(?=\D)/g.toString());
});

SKU:
违约:
默认数量:
用户定义:
职位:
对
不
不
对
删除
添加选项


Genereer string
您是要创建数组数组还是字符串数组?您的
窗口:0:0.0000:1:200:0:1
示例似乎是一个字符串,但在JS中您创建了嵌套数组。窗口:0:0.0000:1:200:0:1是一个字符串,但值来自数组@nnnnnn@mplungjan如果您使用了这段代码,字符串将被推到每个输入后面,我只希望它被添加到一个新数组的每个第一项后面,这只适用于第一个索引,但是这些行被粘贴到一个数组中。我想我把这个问题解释错了。将创建的数组如下:[“窗口”、“1”、“2”、“0”、“1”、“门”、“1”、“4”、“0”、“3”]。此数组中现在有2行。@Koenvandes最好添加一个自定义类来区分该值,并为该输入自定义值。试试我最新的答案。谢谢!那正是我要找的。谢谢你的帮助,巴德!