Подмножество массива можно извлечь с помощью метода filter .
Метод filter принимает функцию, которая возвращает логическое значение в качестве входного. Для сравнения логическая функция может содержать лог c.
Вот рабочее решение для извлечения значений из массива меток, которые начинаются с текста из массива ключей:
// File name: array-subset.js
const keys= ['activity', 'admin']
const labels = ["accountTypes.GROUP_ACCOUNT",
"accountTypes.SINGLE_ACCOUNT",
"activity.active",
"activity.inactive",
"admin.dictionaries.name",
"admin.group.details.addedDate",
"admin.group.details.enterDescription"]
// Function to be used as the input for 'filter' method
function matchedValue(label) {
return keys.includes(label.split(".")[0])
}
console.log(labels.filter(matchedValue))
Вывод:
$ node array-subset.js
[ 'activity.active',
'activity.inactive',
'admin.dictionaries.name',
'admin.group.details.addedDate',
'admin.group.details.enterDescription' ]