【发布时间】:2020-02-07 21:45:10
【问题描述】:
我有这个字符串:
1_plex_light-blue-striped_imagegroup.jpg?v=1581100432
有时看起来像这样:
1_plex_light-blue-striped_imagegroup_d6f347cf-1440-45ef-955d-144ge18d0a00.jpg?v=1581100432
字符串由不同的位组成,我的代码使用这些位来帮助决定在何处以及何时显示图像。
- 1(按图片组排序)
- plex(产品名称)
- 浅蓝色条纹(彩色)
- 图像组(让我的代码知道图像是组的一部分
代码:
此代码位于单击颜色框时触发的函数内。我传入被单击的框的颜色,后跟单词“_imagegroup”,并使用字符串帮助从我开始使用的图像组中过滤具有所选颜色的图像。
var imagesArray = makeProductImagesArray();
function filterImageByColourAndGroupType(image) {
return image.masterImagePath.includes(`${colour}_imageset.`);
}
var filteredArray = imagesArray.filter(filterImageByColourAndGroupType);
filteredArray.sort((a, b) => a.masterImagePath.replace(/\D/g,'').localeCompare(b.masterImagePath.replace(/\D/g,'')));
问题:
有时匹配会失败,因为像“d6f347cf-1440-45ef-955d-144ge18d0a00”这样的随机字符串被添加到图像路径中。
如何确保我的过滤器只返回与此格式匹配的图像:
light-blue-striped_imagegroup.
过滤器需要认为在“imagegroup”之后添加的字符串不存在。它会看到:
1_plex_light-blue-striped_imagegroup.jpg?v=1581100432
完全忽略:
_d6f347cf-1440-45ef-955d-144ge18d0a00
提前致谢
【问题讨论】:
-
你能给我们看看 filterImageByFlavourAndSetType 的代码吗?您的代码 sn-p 只有 filterImageByColourAndGroupType 的代码。
-
抱歉,应该是:filterImageByColourAndGroupType。我已经编辑了我的代码。
标签: javascript jquery regex