Фрагмент ниже определяет объект в 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 г.