从数组键中选择值,如果没有匹配则跳过

时间:2016-11-26 10:49:20

标签: javascript arrays

我试图在该文本中的第一个逗号之后获取所有数字

tl.to(abstract_m, 12, {x: "271", y: "193"});
tl.set(abstract_m, {x: "0", y: "0"});
tl.to(abstract_m, 2, {x: "456", y: "424"});

此处代码处于行动http://codepen.io/one2gov/pen/vyJKga?editors=1111

function tweenSize() {
    var selectSec = $("#fname").val().split(";");
    for (var key in selectSec) {
        var value = selectSec[key];
        if (value.split('.set') >= 0) {
            alert("you don't need this" + value.split(".set"));
        } else {
            var ShowSec = value.split(",")[1];
            alert(ShowSec);
        }
    }
}

问题是js不允许我正确地拆分数组键。得到所有笔画后,我得到了理想的结果。

结果如下:

这是中风1 这是中风2 这是中风3 ... 你不需要中风2!

1 个答案:

答案 0 :(得分:1)

要获取逗号之间的所有数字,您可以匹配逗号并使用组来表示数字。



var text = 'tl.to(abstract_m, 12,  {x:"271", y:"193"});\ntl.set(abstract_m,  {x:"0", y:"0"});\ntl.to(abstract_m, 2,  {x:"456", y:"424"});',
    regex = /,\s(\d+),/g,
    m,
    result = [];

while ((m = regex.exec(text)) !== null) {
    // This is necessary to avoid infinite loops with zero-width matches
    if (m.index === regex.lastIndex) {
        regex.lastIndex++;
    }
    result.push(m[1]);
}
console.log(result);