λ°μν
entries() λ©μλλ?
entries()
λ©μλλ μλ°μ€ν¬λ¦½νΈμμ κ°μ²΄λ 컬λ μ
μ key-value μμ λ°°μ΄λ‘ λ°ννλ μ μ©ν λꡬμ
λλ€. μ΄ λ©μλλ₯Ό μ¬μ©νλ©΄ λ°μ΄ν° ꡬ쑰μ λ΄μ©μ μ½κ² μννκ³ μ‘°μν μ μμ΅λλ€.
κ°μ²΄ λ©μλ μΌνμ
Object.entries()
: κ°μ²΄μ ν€μ κ°μ μμΌλ‘ λ¬Άμ΄ λ°°μ΄λ‘ λ°νν©λλ€.Object.keys()
: κ°μ²΄μ ν€λ§ λ°°μ΄λ‘ λ°νν©λλ€.Object.values()
: κ°μ²΄μ κ°λ§ λ°°μ΄λ‘ λ°νν©λλ€.
const obj = { a: 1, b: 2, c: 3 };
console.log(Object.keys(obj)); // ['a', 'b', 'c']
console.log(Object.values(obj)); // [1, 2, 3]
console.log(Object.entries(obj)); // [['a', 1], ['b', 2], ['c', 3]]
μ£Όμ μ©λ
1. κ°μ²΄μμμ μ¬μ©λ²
κ°μ²΄μ λͺ¨λ μ΄κ±° κ°λ₯ν μμ±μ [key, value]
μμ λ°°μ΄λ‘ κ°μ Έμ΅λλ€.
const person = { name: 'yundogi', age: 26, job: 'UX Engineer' };
const entries = Object.entries(person);
console.log(entries); // [['name', 'yundogi'], ['age', 26], ['job', 'UX Engineer']]
// κ°μ²΄μ λͺ¨λ ν€-κ° μ μΆλ ₯νκΈ°
entries.forEach(([key, value]) => {
console.log(`${key}: ${value}`);
});
2. λ°°μ΄μμμ μ¬μ©λ²
λ°°μ΄μ κ° index
μ value
λ₯Ό μμΌλ‘ νλ μλ‘μ΄ Array Iterator κ°μ²΄λ₯Ό λ°νν©λλ€.
const fruits = ['apple', 'banana', 'orange'];
const iterator = fruits.entries();
for (const [index, value] of iterator) {
console.log(`${index}: ${value}`); // 0: apple, 1: banana, 2: orange
}
// λ°°μ΄μ νμ μΈλ±μ€ μμλ§ μΆμΆνκΈ°
const oddIndexedFruits = [...fruits.entries()]
.filter(([index]) => index % 2 !== 0)
.map(([, value]) => value);
console.log(oddIndexedFruits); // banana
3. Map κ°μ²΄μμμ μ¬μ©λ²
Map κ°μ²΄μ κ° key
μ value
λ₯Ό μμΌλ‘ νλ μλ‘μ΄ Map Iterator κ°μ²΄λ₯Ό λ°νν©λλ€.
const map = new Map();
map.set('name', 'yundogi');
map.set('age', 26);
map.set('job', 'UX Engineer');
const mapEntries = map.entries();
console.log(mapEntries.next().value); // ['name', 'yundogi']
// Mapμ λͺ¨λ ν€-κ° μμ λ°°μ΄λ‘ λ³ννκΈ°
const entriesArray = Array.from(mapEntries);
console.log(entriesArray); // [['age', 26], ['job', 'UX Engineer']]
νμ© μμ
1. κ°μ²΄λ₯Ό 쿼리 λ¬Έμμ΄λ‘ λ³ννκΈ°
const params = { limit: 10, offset: 0, order: 'asc' };
const queryString = Object.entries(params)
.map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`)
.join('&');
console.log(queryString); // limit=10&offset=0&order=asc
2. κ°μ²΄μ ν€μ κ° λ€μ§κΈ°
const original = { a: 1, b: 2, c: 3 };
const inverted = Object.fromEntries(
Object.entries(original).map(([key, value]) => [value, key])
);
console.log(inverted); // { '1': 'a', '2': 'b', '3': 'c' }
λ°μν
'π₯ Develop > Javascript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Javascript] μ κ·ννμ (1) | 2024.10.19 |
---|---|
[Javascript] λ°°μ΄κ³Ό κ°μ²΄ μ λ ¬νκΈ° (0) | 2024.07.29 |
[Javascript] μ€νλ λ(Spread) μ°μ°μ (0) | 2024.07.26 |
[Javascript] λ°μ΄ν° νμ μ λ©λͺ¨λ¦¬ μ°Έμ‘° λ°©μ (1) | 2024.07.24 |
[Javascript] ν΄λ‘μ (Closure) (3) | 2024.07.20 |