У меня есть два массива идентификаторов. Один из них - это нефильтрованный массив master
, который был отсортирован на основе значений в отдельном объекте dataset
, ключи которого являются вышеуказанными идентификаторами). Другой массив - это filtered
подмножество master
, которое сортируется так же, как и master
. Вот так:
const dataset = {a: {...}, b: {...}, c: {...}, d: {...}, e: {...}, f: {...}, g: {...}}
const master = ['a', 'b', 'c', 'd', 'e']
const filtered = ['a', 'c', 'd']
Однако иногда критерии сортировки меняются, поэтому я пересортирую массив master
. Я мог бы затем повторно отфильтровать этот вновь отсортированный мастер-массив, чтобы получить мой filtered
массив, но я бы вместо сделал бы просто отсортировать массив filtered
на основе новый порядок массива master
, так как я предполагаю, что это будет более эффективно, чем повторный запуск моих фильтров.
Однако я не уверен, как это сделать. Для ясности я думаю Мне нужен поток примерно такой:
const mySort = (unsortedSubset, blueprint) => {
// do sort here
}
const dataset = {a: {...}, b: {...}, c: {...}, d: {...}, e: {...}, f:
const master = ['e', 'd', 'c', 'b', 'a']
const filtered = ['a', 'c', 'd']
const sortedFiltered = mySort(filtered, master)
console.log(sortedFiltered)
// ['d', 'c', 'a']