{"action":"opened","issue":{"url":"https://api.github.com/repos/lodash/lodash/issues/1049","labels_url":"https://api.github.com/repos/lodash/lodash/issues/1049/labels{/name}","comments_url":"https://api.github.com/repos/lodash/lodash/issues/1049/comments","events_url":"https://api.github.com/repos/lodash/lodash/issues/1049/events","html_url":"https://github.com/lodash/lodash/issues/1049","id":61060394,"number":1049,"title":"`sortBy`, `max`, `min` doc inconsistency","user":{"login":"octref","id":4033249,"avatar_url":"https://avatars.githubusercontent.com/u/4033249?v=3","gravatar_id":"","url":"https://api.github.com/users/octref","html_url":"https://github.com/octref","followers_url":"https://api.github.com/users/octref/followers","following_url":"https://api.github.com/users/octref/following{/other_user}","gists_url":"https://api.github.com/users/octref/gists{/gist_id}","starred_url":"https://api.github.com/users/octref/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/octref/subscriptions","organizations_url":"https://api.github.com/users/octref/orgs","repos_url":"https://api.github.com/users/octref/repos","events_url":"https://api.github.com/users/octref/events{/privacy}","received_events_url":"https://api.github.com/users/octref/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-03-13T13:09:13Z","updated_at":"2015-03-13T13:09:13Z","closed_at":null,"body":"The function signature uses `iteratee` but the description uses `predicate`. \r\n\r\nPossible to confuse some people.\r\n\r\nIn `max`, we even have mixed use of `iteratee` and `predicate` within just the function description\r\n\r\n`_.max(collection, [iteratee], [thisArg])`\r\n\r\n> Gets the maximum value of collection. If collection is empty or falsey -Infinity is returned. If an iteratee function is provided it is invoked for each value in collection to generate the criterion by which the value is ranked. The **iteratee** is bound to thisArg and invoked with three arguments; (value, index, collection). \r\n\r\n> If a property name is provided for **predicate** the created _.property style callback returns the property value of the given element. \r\n\r\n> If a value is also provided for thisArg the created _.matchesProperty style callback returns true for elements that have a matching property value, else false. \r\n\r\n> If an object is provided for **predicate** the created _.matches style callback returns true for elements that have the properties of the given object, else false.\r\n\r\nI'm actually not quite sure which one you want -- `iteratee` or `predicate`. Can you clarify the difference between these two notions a little bit? "}}