Почему я не могу сделать это с подчеркиванием *?Подчеркивание/lodash: как отфильтровать пустые свойства?
_.omit({ foo: [] }, _.isEmpty);
Я ожидаю, что пустой объект, то есть {}
, но он всегда возвращает то, что, как представляется, копия объекта неизмененного источника.
_.omit
должен поддерживать функцию обратного вызова, первым аргументом которой является значение элемента в объекте (мне все равно, что это за ключ, я просто хочу отказаться от пары ключ/значение, где значение равно пусто). http://underscorejs.org/#omit
_.isEmpty
имеет единственный параметр и должен игнорировать любые другие. Это похоже на идеальное соответствие для обратного вызова _.omit
. http://underscorejs.org/#isEmpty
** Примечание: Я фактически использую реализацию lodash (v.2.4.1) интерфейса подчеркивания.
Вы ищете '_.omitBy' в Lodash. '_.omit' принимает объект и массив свойств. – Nate
Ну, в lodash 2.4.1 и 3.0.1, это работает так, как ожидалось, и это решение, в котором я закончил использование: 'var storable = _.omit (attrs, function (value) { return value === null | | value === undefined; }); ' – Lambart
Ставлю, что' _.omitBy' является недавним изменением в 4. Рад, что вы его работали. – Nate