簡體   English   中英

在數組jQuery中找到特定的字符串模式

[英]find a specific string pattern in an array jquery

抱歉,如果這是重復的,但我似乎找不到解決方法。 我試圖在數組中找到特定的字符串模式。 我想在包含“下划線-下划線”的數據中查找所有值。 然后,我想創建一個僅包含這些鍵和值的新數組。

var data = ["something", "bar_r_something"];
var resultArray = new Array();    
for (var i = 0; i < data.length; i++) {
    var bar = /_r_/;
    if ($.inArray(bar, data[i].length) > 0)
    {
       console.log("found _r_");
       resultArray.push(data[i]);
    }
};

我只是似乎無法使$ .inArray工作,它似乎總是以-1開頭。

var data = ["something", "bar_r_something"];
var resultArray = new Array();
for (var i = 0; i < data.length; i++) {
    var bar = /_r_/;
    if (bar.test(data[i])) {
        alert("found _r_");
        resultArray.push(data[i]);
    }
};

console.log(resultArray);

到這里,它不使用$.inArray ,而是使用$.inArray表達式,希望它很棒!

編輯

如果您想花更多的錢,可以使用JavaScript的filter方法,如下所示:

var data = ["something", "bar_r_something"];
var resultArray = data.filter(function(d){
    return /_r_/.test(d);
});

console.log(resultArray);

我認為您正在尋找的是$ .grep() $ .inArray()也不根據正則表達式測試值,而是測試是否相等。

var regex = /_r_/
var resultArray  = $.grep(data, function(item){
    return regex.test(item)
})

演示: 小提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM