Отфильтруйте проприты из массива объектов

#javascript #vue.js

Вопрос:

У меня есть эти данные, поступающие из бэкенда

 [ { "total_spent": [ "greater_than", "less_than", "equal_to", "between" ] }, { "cart_value": [ "greater_than", "less_than", "equal_to", "between" ] }, { "shipping_price": [ "greater_than", "less_than", "equal_to", "between" ] }, { "product": [ "in" ] }, { "customer_type": [ "equal_to" ] } ]
 

И я пытаюсь только получить total_spent и продукт, а остальное удалить.

Я попробовал следующее, но я думаю, что это применимо к объектам.

 filterConfi() {
      return ["cart_value", "shipping_price"].forEach(
         e => delete this.config.segmentationConfiguration[e]
      );
    },
 

Конечный результат должен выглядеть примерно так

 [ { "total_spent": [ "greater_than", "less_than", "equal_to", "between" ] }, { "product": [ "in" ] }, { "customer_type": [ "equal_to" ] } ]
 

Ответ №1:

 const arr = [ { "total_spent": [ "greater_than", "less_than", "equal_to", "between" ] }, { "cart_value": [ "greater_than", "less_than", "equal_to", "between" ] }, { "shipping_price": [ "greater_than", "less_than", "equal_to", "between" ] }, { "product": [ "in" ] }, { "customer_type": [ "equal_to" ] } ]

console.log(arr.filter(x=> !!x.total_spent || !!x.product))
 

Комментарии:

1. Не нужен двойник !! . Вы можете удалить его