Last active
May 24, 2025 07:15
-
-
Save Kcko/68edc214668678ae4a69b6b7d9666fc0 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
const user = { name: "Alice", age: 30 }; | |
// 1. for...in loop - iteruje přes všechny enumerable vlastnosti | |
console.log("1. for...in loop:"); | |
for (let key in user) { | |
console.log(`${key}: ${user[key]}`); | |
} | |
// 2. Object.keys() - vrací pole klíčů | |
console.log("\n2. Object.keys():"); | |
Object.keys(user).forEach(key => { | |
console.log(`${key}: ${user[key]}`); | |
}); | |
// 3. Object.values() - vrací pole hodnot | |
console.log("\n3. Object.values():"); | |
Object.values(user).forEach(value => { | |
console.log(value); | |
}); | |
// 4. Object.entries() - vrací pole párů [klíč, hodnota] | |
console.log("\n4. Object.entries():"); | |
Object.entries(user).forEach(([key, value]) => { | |
console.log(`${key}: ${value}`); | |
}); | |
// 5. Object.entries() s for...of | |
console.log("\n5. Object.entries() s for...of:"); | |
for (let [key, value] of Object.entries(user)) { | |
console.log(`${key}: ${value}`); | |
} | |
// 6. Object.keys() s for...of | |
console.log("\n6. Object.keys() s for...of:"); | |
for (let key of Object.keys(user)) { | |
console.log(`${key}: ${user[key]}`); | |
} | |
// 7. Object.getOwnPropertyNames() - včetně non-enumerable vlastností | |
console.log("\n7. Object.getOwnPropertyNames():"); | |
Object.getOwnPropertyNames(user).forEach(key => { | |
console.log(`${key}: ${user[key]}`); | |
}); | |
// 8. Reflect.ownKeys() - všechny vlastnosti včetně Symbolů | |
console.log("\n8. Reflect.ownKeys():"); | |
Reflect.ownKeys(user).forEach(key => { | |
console.log(`${key}: ${user[key]}`); | |
}); | |
// 9. Map() pro transformaci | |
console.log("\n9. Map() pro transformaci:"); | |
const transformed = Object.entries(user).map(([key, value]) => `${key.toUpperCase()}: ${value}`); | |
console.log(transformed); | |
// 10. Reduce() pro akumulaci | |
console.log("\n10. Reduce() pro akumulaci:"); | |
const result = Object.entries(user).reduce((acc, [key, value]) => { | |
acc[key.toUpperCase()] = value; | |
return acc; | |
}, {}); | |
console.log(result); | |
// 11. Filter() pro filtrování | |
console.log("\n11. Filter() pro filtrování:"); | |
const filtered = Object.entries(user).filter(([key, value]) => typeof value === 'string'); | |
console.log(filtered); | |
// 12. Some() a Every() pro testování | |
console.log("\n12. Some() a Every():"); | |
const hasString = Object.values(user).some(value => typeof value === 'string'); | |
const allStrings = Object.values(user).every(value => typeof value === 'string'); | |
console.log(`Obsahuje string: ${hasString}`); | |
console.log(`Všechny jsou stringy: ${allStrings}`); | |
// 13. JSON.stringify() s replacer funkcí | |
console.log("\n13. JSON.stringify() s replacer:"); | |
JSON.stringify(user, (key, value) => { | |
if (key !== '') console.log(`${key}: ${value}`); | |
return value; | |
}); | |
// 14. Object.hasOwnProperty() check | |
console.log("\n14. for...in s hasOwnProperty:"); | |
for (let key in user) { | |
if (user.hasOwnProperty(key)) { | |
console.log(`${key}: ${user[key]}`); | |
} | |
} | |
// 15. Destrukturování s rest operátorem | |
console.log("\n15. Destrukturování:"); | |
const { name, ...rest } = user; | |
console.log(`name: ${name}`); | |
console.log('zbytek:', rest); | |
// 16. Použití s async/await (pokud by byly hodnoty Promise) | |
console.log("\n16. Async iterace (příklad):"); | |
async function asyncIteration() { | |
for (let [key, value] of Object.entries(user)) { | |
// Simulace async operace | |
await new Promise(resolve => setTimeout(resolve, 100)); | |
console.log(`Async: ${key}: ${value}`); | |
} | |
} | |
// asyncIteration(); // odkomentuj pro spuštění |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment