У меня есть объект javascript, который выглядит так:
{limit: 2, page: 1, filter[description]: 'foo', filter[id]: 1}
Мне нужно удалить только элементы, связанные с фильтром, и оставить его таким:
{limit: 2, page: 1}
Как наиболее эффективно выполнить эту процедуру?
Вы имели в виду {limit: 2, page: 1, 'filter[description]': 'foo', 'filter[id]': 1}
? если нет, означает ли filter[...]
значение другого объекта filter
?
Я реализую этот spatie.be/docs/laravel-query-builder/v3/features/filtering в бэкенде, и мне нужно удалить фильтр, когда он исчезнет
Предполагая, что это ключи в кавычках, вы можете фильтровать пары ключ-значение между вызовами Object.entries
и Object.fromEntries
.
В этой версии будут удалены все записи, где ключ начинается filter[
. Но вы можете изменить это достаточно легко:
const removeFilters = (obj) => Object .fromEntries (Object .entries (obj)
.filter(([k, v]) => !k.startsWith('filter[')
))
const input = {limit: 2, page: 1, 'filter[description]': 'foo', 'filter[id]': 1}
console .log (removeFilters (input))
filter[description]
неверный синтаксис. Каков ваш фактический объект?