Last active
March 30, 2016 13:08
-
-
Save BucleSinFin/0bbd04087b3c17d4a949 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*----------------------------------------------------------- | |
1.naloga: izpis propertyjev lastnika popravi tako, da bodo izpisani tudi propertyji ljubljenčka. | |
-----------------------------------------------------------*/ | |
console.log('1. naloga'); | |
console.log('\n'); | |
var owner = { | |
species: 'cat', | |
name: 'Pebbles', | |
'favourite food': 'lasagna', | |
}; | |
var pet = { | |
species: 'hooman', | |
name: 'James', | |
'favourite food': 'KitKat', | |
}; | |
owner.pet = pet; | |
var keys = Object.keys(owner); | |
for (var i = 0; i < keys.length; i++) { | |
if (typeof owner[keys[i]] == 'object'){ | |
var objKeys = Object.keys(owner[keys[i]]); | |
console.log(keys[i] + ':'); | |
for (var j = 0; j < objKeys.length; j++) { | |
console.log(' ' + objKeys[j] + ': ' + owner[keys[i]][objKeys[j]]); | |
} | |
} | |
else { | |
console.log(keys[i] + ': ' + owner[keys[i]]); | |
} | |
} | |
console.log('\n\n'); | |
/*----------------------------------------------------------- | |
2. naloga - smiselno definirajte druzinsko drevo s 4 starimi starsi, 2 starsema in 3 otroki. | |
Drevo vsaj približno berljivo izpišite (brez uporabe JSON.stringify). | |
-----------------------------------------------------------*/ | |
console.log('2. naloga'); | |
console.log('\n'); | |
var Homer = { | |
name: 'Homer', | |
familyName: 'Simpson', | |
parents: {dad:'Abraham', | |
mom: 'Mona'} | |
}; | |
var Marge = { | |
name: 'Marge', | |
familyName: 'Bouvier', | |
parents: {dad:'Clancy', | |
mom: 'Jackie'} | |
}; | |
var family = { | |
familyName: 'Simpson', | |
kids: ['Bart', 'Lisa', 'Maggie'], | |
parents: {dad: Homer, | |
mom: Marge}, | |
}; | |
var keys = Object.keys(family); | |
for (var i = 0; i < keys.length; i++) { | |
if (typeof family[keys[i]] == 'object'){ | |
var kidsKeys = Object.keys(family[keys[i]]); | |
console.log(keys[i] + ':'); | |
for (var j = 0; j < kidsKeys.length; j++) { | |
if (typeof family[keys[i]][kidsKeys[j]] == 'object'){ | |
var parentsKeys = Object.keys(family[keys[i]][kidsKeys[j]]); | |
console.log('\t' + kidsKeys[j] + ':'); | |
for (var k = 0; k < parentsKeys.length; k++){ | |
if (typeof family[keys[i]][kidsKeys[j]][parentsKeys[k]] == 'object'){ | |
var grandKeys = Object.keys(family[keys[i]][kidsKeys[j]][parentsKeys[k]]); | |
console.log('\t\t' + parentsKeys[k] + ':'); | |
for (var l = 0; l < grandKeys.length; l++){ | |
console.log('\t\t\t' + grandKeys[l] + ': '+ family[keys[i]][kidsKeys[j]][parentsKeys[k]][grandKeys[l]]); | |
} | |
}else { | |
console.log('\t\t' + parentsKeys[k] + ': ' + family[keys[i]][kidsKeys[j]][parentsKeys[k]]); | |
} | |
} | |
}else { | |
if (Array.isArray(family[keys[i]])){ | |
console.log('\t' + family[keys[i]][kidsKeys[j]]); | |
}else{ | |
console.log('\t' + kidsKeys[j] + ': ' + family[keys[i]][kidsKeys[j]]); | |
} | |
} | |
} | |
}else { | |
console.log(keys[i] + ': ' + family[keys[i]]); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment