Javascript search through object -


i'm unfortunately still not quite familiar objects in js , programming bit phd in psychology, don't have great programming skills. i've managed create nice object captures data structure pretty well:

var items = {   anamnese_akut: [{     id: 1,     question: 'haben sie die beschwerden zum ersten mal?',     answer: 'ja, etwas ist noch nie passiert.'   }, {     id: 2,     question: 'haben sie in den letzten wochen unbeabsichtigt gewicht verloren?',     answer: 'nein, bestimmt nicht.'   }],   anamnese_allgemein: [{     id: 3,     question: 'sind bei ihnen vorerkrankungen bekannt?',     answer: 'eigentlich nicht, nein.'   }, {     id: 4,     question: 'wurden sie schon mal operiert?',     answer: 'ich hatte eine blinddarmoperation als kind, und in den letzten zwei jahren dreimal eine ausschabung nach fehlgeburten.'   }] };     

i want search input variable contains 1 of these 4 questions, can come both categories. i've managed unnested object, using code here: js search in object values, cannot work , have no idea how adapt object categories anamnese_akut , anamnese_allgemein.

how can adapt search this? after comparing input questions want have index, can give output of corresponding answer found question.

i think there way of structuring data here. can avoid arrays , use referencing object properties. advantage is, can access values without "search" in terms of iterations object's property hash.

note: readability purposes, have used reduced subset of data in examples.

example - base on index number

var anamnese_akut = {      q: {    	1:'haben sie die beschwerden zum ersten mal?',  	2: 'haben sie in den letzten wochen unbeabsichtigt gewicht verloren?',      },          a: {    	1:'ja, etwas ist noch nie passiert.',          2:'nein, bestimmt nicht.'      },  };    console.log(anamnese_akut.q['1']);  console.log(anamnese_akut.a['1']);

with example base data on index number (1, 2, 3...) , access questions , answers number.

advantage: less error prone, because index short , can stored number.

disadvantage: index number must known within overall context of q , a.

example b - access id different structure

var questions = {      anamnese_akut: {    	1:'haben sie die beschwerden zum ersten mal?',          2:'haben sie in den letzten wochen unbeabsichtigt gewicht verloren?',      },  };    var answers = {      anamnese_akut: {    	1: 'ja, etwas ist noch nie passiert.',          2: 'nein, bestimmt nicht.',      },  };    console.log(questions.anamnese_akut['1']);  console.log(answers.anamnese_akut['1']);

advantages: decoupled questions , answers, access index required (as in example a)

disadvantage: more work on structural design level, since there little bit more redundancy here (since have 2 objects anamnese_akut entry).

example c - access question

var anamnese_akut = {      'haben sie die beschwerden zum ersten mal?' : 'ja, etwas ist noch nie passiert.',  };    console.log(anamnese_akut['haben sie die beschwerden zum ersten mal?']);

advantages: answer immediatly returned

disadvantage: question string needs strictly given in object or access fails , returns undefined.

personally go example b since allows me split question , answer data contexts (which may become important, depending on application use case) , still allows me access 1 given index number.


Comments

Popular posts from this blog

resizing Telegram inline keyboard -

command line - How can a Python program background itself? -

php - "cURL error 28: Resolving timed out" on Wordpress on Azure App Service on Linux -