π λͺ©ν: μλ°μ€ν¬λ¦½νΈ κΈ°μ΄λ₯Ό 곡λΆνκ³ λΆμ‘±ν λΆλΆμ μ±μ°μ.
πμ°λ¦¬κ° κ°μ²΄μμ ν€λ₯Ό μ¬μ©νλ λ°©λ²μ μ¬λ¬κ°μ§κ° μλλ° λ€μκ³Ό κ°μ λ°©λ²μ μ΄μ©νλ©΄ κ°μ²΄μ νΉμ ν€ κ°μ κ°μ Έμ€λκ²λ κ°λ₯νκ³ , λ°λλ‘ κ°μ²΄μ νΉμ ν€λ₯Ό λ§λ€κ³ κ°μ ν λΉνλ κ²λ κ°λ₯νλ€.
const info = {
name: 'κΉκ³Όμ₯'
}
const info = {
name: 'κΉκ³Όμ₯'
}
//λ°©λ²1
const verb = 'develope'
const project = 'instagram'
info[verb] = project //develope: "instagram"
//λ°©λ²2
info.developes = 'instagram' //develope: "instagram"
μ λ μ€μ μ½λμ μ°¨μ΄μ μ 무μμΌκΉ?
λ κ°μ§ λͺ¨λ μ μ©μ΄ κ°λ₯νμ§λ§ μμ€μ λ³μκ° κ°μ§λ κ°μ λ°λΌμ μ λμ μΌλ‘ λ€λ₯Έ νλ‘νΌν°λ₯Ό κ°μ§ μ μλ€λ κ²μ΄λ€.
κ°μ²΄λ κΈ°λ³Έμ μΌλ‘ μμκ° μλ€. κ·Έλ¦¬κ³ ν€λ₯Ό ν΅ν΄μλ§ μ κ·Όμ΄ κ°λ₯νλ€.
νμ§λ§ μ¬λ¬κ°μ§ μ΄μ λ‘ κ°μ²΄μ μλ λͺ¨λ ν€μ νλ²μ© μ κ·Όμ ν΄μΌνλ μ½λλ₯Ό μ¨μΌνλ€λ©΄ μ΄λ»κ² ν΄μΌν κΉ? λ€νμ€λ½κ²λ κ°μ²΄λ λ°°μ΄μ²λΌ μνκ° κ°λ₯νλ€.
λ€λ§, λ°°μ΄κ³Ό λ€λ₯΄κ² λͺ ννκ² μ ν΄μ§ μμλ μκΈ° λλ¬Έμ, μ΄λ€ μμμ λ°λΌμ κ°μ²΄μ ν€μ μ κ·Όνκ² λ μ§λ μ μ μλ€. κ·Έλμ κ°μ²΄ μνλΌλ λ§μ 'μμκ° λ³΄μ₯λμ§ μλ μν' λΌκ³ ν μ μλ€.
μ°λ¦¬κ° λ°°μ΄μμ λ°°μ΄μ μνν λλ for
λ¬Έμ μ¬μ©νλλ° μ½λλ₯Ό ν λ² νμΈν΄ 보μ.
const arr = ['π', 'π―', 'π', 'π·']
for (let i = 0; i < arr.length; i++) {
console.log(arr[i])
}
λ°λ³΅λ¬Έμ΄ λ°°μ΄μμ length
λΌλ ν€λ₯Ό κ°μ§κ³ μκ³ , indexλ₯Ό ν΅ν μ κ·Όλ κ°λ₯νκΈ° λλ¬Έμ λ°°μ΄ μνκ° κ°λ₯ν κ²μ΄λ€.
κ°μ²΄λ length
λΌλ ν€κ° μλ€. indexλ μκΈ° λλ¬Έμ μ΄λ°μμ λ°λ³΅λ¬Έμ λΆκ°νλ€. λμ μ λ€λ₯Έ λ°©λ²μ΄ μλ€. μ΄κ²μΌλ‘ λ°λ³΅λ¬Έ μμ±μ νλ κ²μ΄λ€.
Object.keys
λ©μλλ μ΄λ€ κ°μ²΄κ° κ°μ§κ³ μλ ν€λ€μ λͺ©λ‘μ λ°°μ΄λ‘ 리ν΄ν΄μ£Όλ λ©μλμ΄λ€. κ°μ²΄μ λ΄μ₯ λ©μλκ° μλλΌ κ°μ²΄ μμ±μμΈ Object
κ° μ§μ κ°μ§κ³ μλ λ©μλμ΄λ€.
const obj = {
name: 'kim',
age: 29,
price: NaN,
gender: 'man'
}
Object.keys(obj) //["name", "age", "price", "gender"]
μμ κ°μ΄ μΆλ ₯μ΄ λλ©΄ μ΄κ±Έλ‘ μ°λ¦¬κ° λ°λ³΅λ¬Έμ μ¬μ©ν μ μλ€.
const keys = Object.keys(obj) //["name", "age", "price", "gender"]
for (let i = 0; i < keys.length; i++) {
const key = keys[i] // κ°κ°μ ν€
const value = obj[key] // κ°κ°μ ν€μ ν΄λΉνλ κ°κ°μ κ°
console.log(value)
}
Object.keys
μ΄μΈμλ Object
μμ±μμ λ©μλμΈ Object.values
, Object.entries
μ κ°μ κ²λ€μ΄ μΆκ°λμλ€. Object.valuesλ κ°μ²΄μ ν€κ° μλ κ°μΌλ‘ μ΄λ£¨μ΄μ§ λ°°μ΄μ return νλ€.const obj = {
name: 'kim',
age: 29,
price: NaN,
gender: 'man'
}
Object.values(obj) //["kim", 29, NaN, "man"]
const obj = {
name: 'kim',
age: 29,
price: NaN,
gender: 'man'
}
console.log(Object.entries(obj)); //(4) [Array(2), Array(2), Array(2), Array(2)]
Object.keys
, Object.values
, Object.entries
μΈκ°μ§ μ€μμ μ μΌ μ μ©νκ² μ°μΈλ€. κΌ μμλμπκ°μ²΄λ₯Ό μννλ λλ²μ§Έ λ°©λ²μΌλ‘λ for-in
λ¬Έμ΄ μλ€. λ°λ³΅λ¬Έμ for
λ¬Έκ³Ό κ°μ μ’
λ₯μ λ¬Έλ²μ΄κΈ΄ νμ§λ§, κ°μ²΄μ λ°°μ΄μ μν΄ νΉλ³νκ² μ‘΄μ¬νλ ES6μ μΆκ°λ λ¬Έλ²μ΄λ€. for-in
μ κ°μ²΄ μν μ΄μΈμμλ, μΌλ°μ μΈ λ°°μ΄μ μνν λλ μμ£Ό μ£Όμ©νλ€.
const arrs = ['coconut', 'banana', 'pepper', 'coriander']
for (let i = 0; i < arrs.length; i ++) {
console.log(i)
console.log(arrs[i])
}
for(let arr in arrs) {
console.log(i)
console.log(arr[i])
}
μ΄λ°μμΌλ‘ κ°μ²΄λ₯Ό κ°μ§κ³ for-in
λ¬Έμ μ¬μ©νλ©΄, i
λ₯Ό 0μΌλ‘ μ΄κΈ°ννκ³ , λ°°μ΄μ κΈΈμ΄μ λΉκ΅νκ³ i
λ₯Ό 1μ© μ¦κ°μν€λ λ±μ μ½λλ₯Ό μλ΅ν μ μλ€. μ΄κ²μ λ°λ³΅λ¬Έμ΄ λͺ λ² λμμΌ ν μ§λ₯Ό μλ°μ€ν¬λ¦½νΈ μμ§ λ΄λΆμμ μλμΌλ‘ κ²°μ νκ² λλ€.
for-in
λ¬Έμ λ°°μ΄λΏλ§ μλλΌ κ°μ²΄μμλ μλνλλ°
const obj = {
name: 'kim',
age: 29,
price: NaN,
gender: 'man'
}
for (let key in obj) {
const value = obj[key]
console.log(key)
console.log(value)
}
μ΄λ°μμΌλ‘ κ°μ²΄λ₯Ό κ°μ§κ³ for-in
λ¬Έμ μ¬μ©νλ©΄, for-in
λ¬Έμ indexμ ν΄λΉνλ λ³μκ° μ«μκ° μλ κ°μ²΄μ€ κ°κ°μ ν€μ ν΄λΉνλ λ¬Έμμ΄μ ν λΉλ°κ² λλ€.
getExamResult
Β ν¨μλ₯Ό ꡬννμ.μΈμΒ scores
Β λ λ€μκ³Ό κ°μ κ°μ²΄μ΄λ€.. κ°μ²΄μ μμμ κ°―μ λ° ν€μ μ΄λ¦λ€μ λ¬λΌμ§ μ μλ€. κ°μ²΄μ κ°μ λ€μ 9κ°μ§ λ¬Έμμ΄ μ€μμ νλλ₯Ό κ°μ§κ³ μλ€.
{
'μνμμνκ³': 'C',
'λ
Όλ¦¬μ κΈμ°κΈ°': 'B',
'λ
μΌλ¬Ένμμ΄ν΄': 'B+',
'κΈ°μ΄μν': 'D+',
'μμ΄νν': 'C+',
'μΈμ§λ°λ¬μ¬λ¦¬ν': 'A+',
}
μΈμΒ requiredClasses
Β λ λ€μκ³Ό κ°μ΄ λ¬Έμμ΄λ‘ λ λ°°μ΄μ΄λ€.
['μμ΄νν', 'κΈ°μ΄μν', '곡νμν', 'μ»΄ν¨ν°κ³Όνκ°λ‘ ']
λ€μ 쑰건μ λ§μ‘±νλ κ°μ²΄λ₯Ό 리ν΄νλλ‘ ν¨μλ₯Ό ꡬννμ.
scores
Β κ°μ²΄κ° κ°μ§κ³ μλ ν€λ€μ μλ‘μ΄ κ°μ²΄μ ν¬ν¨λμ΄μΌ νλ€. λ¨, κ·Έ κ°λ€μ λ€μ μ리μ λ°λΌ μ«μλ‘ λ°λμ΄ ν λΉλμ΄μΌ νλ€.
requiredClasses
Β λ°°μ΄μ μμλ‘λ μ‘΄μ¬νμ§λ§,Β scores
μ ν€λ‘λ μ‘΄μ¬νμ§ μλ νλͺ©μ΄ μλ€λ©΄, ν΄λΉ μμλ μλ‘μ΄ κ°μ²΄μ ν€κ° λκ³ , κ°μΌλ‘ 0μ κ°μ ΈμΌ νλ€. μμμ μμλ‘ λ¬μ¬λ κ°μ²΄μ λ°°μ΄μ΄ μΈμλ‘ λ€μ΄μλ€λ©΄, λ€μκ³Ό κ°μ κ°μ²΄κ³Ό 리ν΄λλ€. μμκ° μμλ λ€λ₯Όμ μλ€.
{
'μνμμνκ³': 2,
'λ
Όλ¦¬μ κΈμ°κΈ°': 3,
'λ
μΌλ¬Ένμμ΄ν΄': 3.5,
'κΈ°μ΄μν': 1.5,
'μμ΄νν': 2.5,
'μΈμ§λ°λ¬μ¬λ¦¬ν': 4.5,
'곡νμν': 0,
'μ»΄ν¨ν°κ³Όνκ°λ‘ ': 0,
}
const getExamResult = (scores, requiredClasses) => {
const result = {};
const list = {
"A+":4.5,
"A":4,
"B+":3.5,
"B":3,
"C+":2.5,
"C":2,
"D+":1.5,
"D":1,
"F":0
}
for(let key in scores){
result[key] = list[scores[key]];
}
const keys = Object.keys(result)
for(let i in requiredClasses) {
if(!keys.includes(requiredClasses[i])) {
result[requiredClasses[i]] = 0;
}
}
return result;
}