Напишите обобщенную функцию, которая принимает различные условия :
function array_only(arr, condition) {
hold_test=[]
arr.map(function(e, i) {if(eval(condition)){hold_test.push(e)}})
return(hold_test)
}
Пример:
use_array = ['hello', 'go_there', 'now', 'go_here', 'hello.png', 'gogo.log', 'hoho.png']
Использование :
return только элементы, содержащие .log расширение:
array_only(use_array, "e.includes('.log')")
['gogo.log']
return только элементы, содержащие .png расширение:
array_only(use_array, "e.includes('.png')")
['hello.png', 'hoho.png']
возврат * только 1032 *элементы НЕ содержат .png расширение:
array_only(use_array, "!e.includes('.png')")
['hello', 'go_there', 'now', 'go_here', 'gogo.log']
возврат элементов, содержащих набор расширений и префиксов:
array_only(use_array, "['go_', '.png', '.log'].some(el => e.includes(el))")
['go_there', 'go_here', 'hello.png',' gogo.log ',' hoho.png ']
Вы можете легко передать НЕСКОЛЬКО УСЛОВИЙ
вернуть все файлы png, которые являютсядлиной менее 9 символов:
array_only(use_array, "e.includes('.png') && e.length<9")
['hoho.png']