如何在javascript中从字符串数组中删除字符模式?

如何在javascript中从字符串数组中删除字符模式?,javascript,arrays,regex,filter,substring,Javascript,Arrays,Regex,Filter,Substring,我有一个字符串数组。每个字符串表示一条路径。我需要删除此路径中区域设置代码之前的所有内容我希望它返回一个新的干净路径数组。 问题:如何编写和使用arr.filter()到match()然后从原始字符串中删除所有区域设置的模式 代码: 最后,我想将原始数组thingy过滤为newThing,其输出应该如下所示: console.log(newThing); // ['home/gosh1.png','about/gosh.png','place/1noway.jpg'] 如果要变换数组中的项,f

我有一个字符串数组。每个字符串表示一条路径。我需要删除此路径中区域设置代码之前的所有内容我希望它返回一个新的干净路径数组。

问题:如何编写和使用
arr.filter()
match()
然后从原始字符串中删除所有区域设置的模式

代码:

最后,我想将原始数组
thingy
过滤为
newThing
,其输出应该如下所示:

console.log(newThing);
// ['home/gosh1.png','about/gosh.png','place/1noway.jpg']

如果要变换数组中的项,
filter
不是合适的工具<代码>地图是您使用的工具

看起来您只想删除路径的中间部分:

var thingy=['home/all br/gosh1.png','about/ar_all/gosh.png','place/br pt/noway.jpg'];
var newThing=thingy.map(函数(条目){
返回条目。替换(/\/[^\/]+/,“”);
});
log(JSON.stringify(newThing))


只需更改
返回结果=item.match(reggy)
返回项目。匹配(reggy)仍不工作:(?-如果正则表达式正确…尚未验证part@T.J.Crowder这是一个错误。我很抱歉。
map
对于这种情况来说确实是正确的/最好的方法。@T.J.你能试试var thingy=['thing/all br/home/gosh-1.png'、'thing/ar_all/about/100_gosh.png'、'thing/br pt/anything/a_noway.jpg'];作为你的起始数组。因此删除东西//@MatthewHarwood:只需根据需要进行调整。这是最基本的方法(好吧,这或使用
match
从捕获组重新组合你想要的字符串,然后从
map
回调返回)。
console.log(newThing);
// ['home/gosh1.png','about/gosh.png','place/1noway.jpg']