如何返回数组中字符串的特定部分?

时间:2017-10-19 13:02:38

标签: javascript jquery arrays

我有一个表格,其中每一行都有一个复选框供选择。每个复选框都有一个唯一的ID,因此JS或Jquery可以调用它。

该表由可变数据组成,对于一个用户,它可以有5行,另外10个。

使用$('input[id^="incident_vga_"]')

成功检索id

之后我必须删除incident_vga_部分的每个项目。通过使用:

循环结果也可以成功完成
$('input[id^="incident_vga_"]').each(function(){
var id = this.id;
var idNumber = id.replace(/\D+/, '');
elements.push(idNumber); 
//console.log(idNumber);
});

现在出现问题的部分,当在另一个循环中检查结果时,将每个项目写入控制台时,它将每个项目写为由逗号分隔的整个数组组成的字符串。

使用以下代码完成:

for (var i in elements) 
{
console.log("row " + i);
console.log(" " + elements[i]);
}

在控制台中输出如下内容:

row 21
,5728,5729,5732,5733,5724,5730,5731,5734,5735,5740,5746,5747,5748,5726,5738,5741,5742,5743,5744,5745,5739,5727,5736,5737

我想检查each()函数是否使用console.log(idNumber);将字符串推入数组。当将每个idNumber写入控制台时,它将每个idNumber写为单个。不是用逗号分隔的完整字符串。

现在我不是jquery和javascript的专家。我有点知道我的方式,但这让我感到困惑。 我已经研究了很长时间,但我找不到答案。我已经尝试了多种方法来检索id,剥离它们并将它们推入数组并将其写入控制台。 可悲的是,我尝试过的每一种替代方案都会导致失败或与当前情况重复。

最终我必须检查剥离的id与来自通过PHP引入的数组中的id(在页面加载时已知)来执行(或不执行)一个动作,当勾选一个符合a的行中的复选框时具体情况。

任何帮助将不胜感激。我可能已经覆盖了某些东西,或者只是陷入了隧道视觉的情况,但我现在无法看到正确的解决方案。

1 个答案:

答案 0 :(得分:0)

这就是你想要的吗?

$(function() {

    let elements = [];

    $('input[id^="incident_vga_"]').each(function(){
        let id = this.id;
        let idNumber = id.replace(/\D+/, '');
        elements.push(idNumber); 
    });


    for (let i in elements) {
      console.log('row ' + i + ': ' + elements[i]); 
    }

});