[英]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.