Я хочу фильтровать эластичный запрос. Я добавил элемент, но не могу удалить его. Мой массив ниже. Например, я хочу удалить элемент, содержащий item2, в моем массиве. Я хочу проверить, существует ли ключ item2, и удалить этот элемент, если он есть. Как я могу сделать?

let array = [
    {
      terms: {
        item1: [
          '1111111111111',
          '2222222222222',
          '3333333333333',
          '4444444444444'
        ]
      }
    },
    {
      terms: {
        item2: [
          'aaaaaaaaaaaaaaaaaaaaaaa',
          'bbbbbbbbbbbbbbbbbbbbbbb',
          'ccccccccccccccccccccccc'
        ]
      }
    },
    {
      range: {
        item3: {
          from: 0,
          to: 99999
        }
      }
    }
  ];
0
yunusunver 26 Ноя 2021 в 17:02
Что ты пробовал?
 – 
Hieu Le
26 Ноя 2021 в 17:11

1 ответ

Лучший ответ

Что-то вроде этого?

let array = [{
        terms: {
            item1: [
                '1111111111111',
                '2222222222222',
                '3333333333333',
                '4444444444444'
            ]
        }
    },
    {
        terms: {
            item2: [
                'aaaaaaaaaaaaaaaaaaaaaaa',
                'bbbbbbbbbbbbbbbbbbbbbbb',
                'ccccccccccccccccccccccc'
            ]
        }
    },
    {
        range: {
            item3: {
                from: 0,
                to: 99999
            }
        }
    }
];

const filtered = array.filter((el) => !el[Object.keys(el)[0]].hasOwnProperty('item2'))

console.log(JSON.stringify(filtered))
1
charly1212 26 Ноя 2021 в 17:31
Спасибо, поработай :))
 – 
yunusunver
26 Ноя 2021 в 17:47