{"action":"created","issue":{"url":"https://api.github.com/repos/jashkenas/underscore/issues/2374","labels_url":"https://api.github.com/repos/jashkenas/underscore/issues/2374/labels{/name}","comments_url":"https://api.github.com/repos/jashkenas/underscore/issues/2374/comments","events_url":"https://api.github.com/repos/jashkenas/underscore/issues/2374/events","html_url":"https://github.com/jashkenas/underscore/pull/2374","id":120527113,"number":2374,"title":"Implement deepFilter function","user":{"login":"dchacke","id":2866749,"avatar_url":"https://avatars.githubusercontent.com/u/2866749?v=3","gravatar_id":"","url":"https://api.github.com/users/dchacke","html_url":"https://github.com/dchacke","followers_url":"https://api.github.com/users/dchacke/followers","following_url":"https://api.github.com/users/dchacke/following{/other_user}","gists_url":"https://api.github.com/users/dchacke/gists{/gist_id}","starred_url":"https://api.github.com/users/dchacke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dchacke/subscriptions","organizations_url":"https://api.github.com/users/dchacke/orgs","repos_url":"https://api.github.com/users/dchacke/repos","events_url":"https://api.github.com/users/dchacke/events{/privacy}","received_events_url":"https://api.github.com/users/dchacke/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/jashkenas/underscore/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/jashkenas/underscore/labels/wontfix","name":"wontfix","color":"ffffff"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-12-05T04:02:11Z","updated_at":"2015-12-07T16:25:29Z","closed_at":"2015-12-06T15:49:17Z","pull_request":{"url":"https://api.github.com/repos/jashkenas/underscore/pulls/2374","html_url":"https://github.com/jashkenas/underscore/pull/2374","diff_url":"https://github.com/jashkenas/underscore/pull/2374.diff","patch_url":"https://github.com/jashkenas/underscore/pull/2374.patch"},"body":"I needed something like this myself and though I'd share it. Based on https://github.com/IndigoUnited/js-deep-filter, but with a few tweaks.\r\n\r\n`deepFilter` is pretty much the same as `filter`, except it goes through nested objects/arrays."},"comment":{"url":"https://api.github.com/repos/jashkenas/underscore/issues/comments/162577051","html_url":"https://github.com/jashkenas/underscore/pull/2374#issuecomment-162577051","issue_url":"https://api.github.com/repos/jashkenas/underscore/issues/2374","id":162577051,"user":{"login":"jdalton","id":4303,"avatar_url":"https://avatars.githubusercontent.com/u/4303?v=3","gravatar_id":"","url":"https://api.github.com/users/jdalton","html_url":"https://github.com/jdalton","followers_url":"https://api.github.com/users/jdalton/followers","following_url":"https://api.github.com/users/jdalton/following{/other_user}","gists_url":"https://api.github.com/users/jdalton/gists{/gist_id}","starred_url":"https://api.github.com/users/jdalton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdalton/subscriptions","organizations_url":"https://api.github.com/users/jdalton/orgs","repos_url":"https://api.github.com/users/jdalton/repos","events_url":"https://api.github.com/users/jdalton/events{/privacy}","received_events_url":"https://api.github.com/users/jdalton/received_events","type":"User","site_admin":false},"created_at":"2015-12-07T16:25:29Z","updated_at":"2015-12-07T16:25:29Z","body":"> Let's try the converse. What do you need a deep filter for that you couldn't do better and more clearly by hand?\r\n\r\nMe or @dchacke? We went from discussing nested or deep methods in general to recursive methods in general to `deepFilter` specifically? If you're looking for opinions on `deepFilter` specifically I think we should pull in the WordPress calypso folks (@ockham) since they use a `deepMapValues` and maybe @marklagendijk the dev behind [lodash-deep](https://github.com/marklagendijk/lodash-deep).\r\n\r\nMy gut is as with other util methods, that could be implemented by hand, it's for convenience. Not having to worry about circular references, tracking objects, low level object iteration scaffolding, etc."}}