Использовать фильтр match для массива исполнителей #55
-
В одном из скриптов есть такой момент, фильтрую по заданному критерию массив данных: let tracks = Source.getPlaylistTracks('test', 'id');
Filter.match(tracks, 'test|test2', true); Но еще бы хотел отфильтровать этот массив по артисту т.к. в справке сказано, что в данном случаи |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 13 replies
-
В последних версиях исполнитель учитывается Старый ответ Сейчас даже не скажу, почему |
Beta Was this translation helpful? Give feedback.
-
Добавьте следующую функцию по инструкции, чтобы не потерять при обновлении. Filter.matchAll = function (items, strRegex, invert = false) {
let regex = new RegExp(strRegex, 'i');
let filteredTracks = items.filter((item) => {
if (typeof item == 'undefined') {
return false;
} else if (item.hasOwnProperty('album')) {
return invert ^ (regex.test(item.name.formatName()) || regex.test(item.album.name.formatName()) || regex.test(item.artists[0].name.formatName()));
}
return invert ^ regex.test(item.name.formatName());
});
Combiner.replace(items, filteredTracks);
}; |
Beta Was this translation helpful? Give feedback.
-
Хотел добавить своё регулярное выражение в let regex = new RegExp('(?:[^.\w]|^|^\\W+)' + strRegex + '(?:[^.\w]|\\W(?=\\W+|$)|$)'); Но что-то оно не выполняется. Цель была что бы функция match искала только целые слова. Или например как контролировать регистр, узнал что за это отвечает флаг |
Beta Was this translation helpful? Give feedback.
Добавьте следующую функцию по инструкции, чтобы не потерять при обновлении.