Фрагмент ниже определяет объект в JavaScript. Как видно здесь, Объект имеет только два свойства, которые не являются ложными, а именно. a и b. И мы хотим отфильтровать все ложные значения, и мы должны получить ключи, где значение против ключа не является отрицательным.

x = {
  a: "foo",
  b: `bar`,
  c: '',
  d: null,
  e: undefined,
  f: 0,
  g: false
};
Object.keys(x).filter((key) => x[key]);

Задачу можно немного изменить, запросив значения вместо ключей или запросив и ключ, и значения, а не только ключ. Более или менее идея фрагмента останется прежней.

Фрагмент ниже извлекает значения вместо ключей. Одно маленькое добавление функции map делает это. Я верю, что его можно еще оптимизировать. Но я могу жить и с этим.

Object.keys(x).filter((key) => x[key]).map((key) => x[key]);

Первоначально опубликовано на http://bigfatsoftwareinc.wordpress.com 24 апреля 2021 г.