order linear treemodel

by gschutz

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.0/lodash.min.js"></script>

JavaScript

var a = [{path: [1]}, {path: [2]}, {path: [1,3]}, {path: [1,4]}, {path: [2,5]}, {path: [1,3,6]}, {path: [1,3,7]}, {path: [1,3,6,8]}];


var filtered = _.filter(a, function(d) {
    return _.contains(d.path.join('.'), '1.3.');
});

console.log(_.map(filtered, function(d){return d.path.join('.')}));



function table(data) {
    var r = [];
    _.each(data, function(l) {
        r.push(l.join('    '));
        r.push('<br>');
    });
}

var a = [{path: [1]}, {path: [2]}, {path: [10]}, {path: [20]}, {path: [1,5]}, {path: [1,5,6]}, {path: [1,4]}];

var s = _.sortBy(a, function(d) {
    var k = '';
    return _.map(d.path, function(i) {
        return k += _.padLeft(i, 6, '0');
    });
    return k;
});

console.log(_.map(s, function(d){return d.path.join('.')}));