У меня есть эта строка:
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 ( позвольте моему коду знать, что изображение является частью группы
Код:
Этот код находится внутри функции, которая срабатывает при нажатии цветовой рамки. Я передаю цвет прямоугольника, по которому щелкнули, а затем слово «_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
Заранее спасибо