Skip to content

Instantly share code, notes, and snippets.

@BucleSinFin
Last active March 30, 2016 13:08
Show Gist options
  • Save BucleSinFin/0bbd04087b3c17d4a949 to your computer and use it in GitHub Desktop.
Save BucleSinFin/0bbd04087b3c17d4a949 to your computer and use it in GitHub Desktop.
/*-----------------------------------------------------------
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