lodash: combine array of objects
<p>In lodash, I want to convert an array of objects to a single object that contains an array of each property. </p>

<p>I have an array of objects: </p>

<pre><code>var students = [{
    name: 'A',
    idNo: 1,
    marks: {
        math: 98,
        sci: 97,
        eng: 89
    }
}, {
    name: 'B',
    idNo: 2,
    marks: {
        math: 88,
        sci: 87,
        eng: 79
    }
}, {
    name: 'C',
    idNo: 3,
    marks: {
        math: 87,
        sci: 98,
        eng: 91
    }
}]
</code></pre>

<p>I want to combine / reshape them like this:</p>

<pre><code>{
    name: [A, B, C],
    idNo: [1, 2, 3],
    marks: [{
            math: 98,
            sci: 97,
            eng: 89
        }, {

            math: 88,
            sci: 87,
            eng: 79            
    }, {
            math: 87,
            sci: 98,
            eng: 91
        }
    }]
}
</code></pre>

<p>I want this to be done purely with lodash or js inbuilt functions without any loops.</p>

<p>Edit : I have already implemented a solution as suggested by Nenad. I want a utility function in lodash.</p>