Finding an object in a nested object/array structure
I usually have methods to normalize data in the format I want it so you don't have to iterate again.
If you want you can have Schema that provides you methods or access to the data using custom methods.

var questions = new QuestionsSchema(data); // Normalizes to preferred format    questions.getOriginal(); // =&gt; Access to the original object 
questions.getQuestion('0.1');    // =&gt;      {"key": "0.0","title": "Question one","type": "integer"}
questions.getSection('section_1'); // =&gt; whole section


I like more the composed functions you build, is a more like functional way.