Ensure orderBy will accept iteratee path arrays #4438 (#4513)

This commit is contained in:
Michał Lipiński
2019-10-10 22:04:37 +02:00
committed by John-David Dalton
parent 602cc3f03d
commit 659e8c019c
2 changed files with 33 additions and 1 deletions

View File

@@ -3719,8 +3719,21 @@
* @returns {Array} Returns the new sorted array.
*/
function baseOrderBy(collection, iteratees, orders) {
if (iteratees.length) {
iteratees = arrayMap(iteratees, function(iteratee) {
if (isArray(iteratee)) {
return function(value) {
return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);
}
}
return iteratee;
});
} else {
iteratees = [identity];
}
var index = -1;
iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(getIteratee()));
iteratees = arrayMap(iteratees, baseUnary(getIteratee()));
var result = baseMap(collection, function(value, key, collection) {
var criteria = arrayMap(iteratees, function(iteratee) {