'a'
mh-two-thousand-and-two
2024-04-12 44d2c92345cd156a59fc327b3060292a282d2893
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
var safeCb = require('./safeCb');
var pluck = require('./pluck');
var map = require('./map');
var isUndef = require('./isUndef');
exports = function(obj, iteratee, ctx) {
    iteratee = safeCb(iteratee, ctx);
    var idx = 0;
    return pluck(
        map(obj, function(val, key) {
            return {
                val: val,
                idx: idx++,
                criteria: iteratee(val, key, obj)
            };
        }).sort(function(left, right) {
            var a = left.criteria;
            var b = right.criteria;
            if (a !== b) {
                if (a > b || isUndef(a)) return 1;
                if (a < b || isUndef(b)) return -1;
            }
            return left.idx - right.idx;
        }),
        'val'
    );
};
 
module.exports = exports;