Underscore chaining of objects

by Nitrium

JavaScript

input = {
   '2012-12-12': [
       { 'id': 1234,
         'type': 'A' },
       { 'id': 1235,
         'type': 'A' },
       { 'id': 1236,
         'type': 'B' },
    ],
   '2012-12-13': [
       { 'id': 1237,
         'type': 'A' },
       { 'id': 1238,
         'type': 'C' },
       { 'id': 1239,
         'type': 'B' },
    ]
}

val = {validations: [
    {
        id: 1031,
        type: "MAX_LENGTH",
        settings: {
            maxlength: "4000"
        }
    },
    {
        id: 1038,
        type: "REQUIRED",
        settings: { }
    },
    {
        id: 1037,
        type: "MIN_LENGTH",    
        settings: {
            minlength: "1"
        }
    }
]}

types = _.chain(val.validations)
.find(function (validation) {
							return (validation.type === 'MAX_LENGTH');
						}).pick('settings').pluck('maxlength')
      .value()

document.body.innerHTML = JSON.stringify(types)