🚀 μ„±μž₯일지 6.0

μ±… ν–‰λ³΅ν•œ 이기주의자(웨인 닀이어)의 λ‚΄μš©μ— μžκ·Ήλ°›μ•„ μ‹œμž‘ν•˜λŠ” μ†Œλ°•ν•œ μ„±μž₯기둝

μ‚΄μ•„μžˆλŠ” 꽃과 죽은 꽃은 μ–΄λ–»κ²Œ κ΅¬λ³„ν•˜λŠ”κ°€?
μ„±μž₯ν•˜κ³  μžˆλŠ” 것이 μ‚΄μ•„ μžˆλŠ” 것이닀.
생λͺ…μ˜ μœ μΌν•œ μ¦κ±°λŠ” μ„±μž₯이닀!

🌾 (4.0)ν•™μŠ΅ ν‚€μ›Œλ“œμ—μ„œ μ΅œλŒ€ν•œ κ°„λ‹¨ν•œ 정보 제곡, κ³ λ―Όμ—μ„œ λ‚΄ κ²½ν—˜μ„ μžμ„Ένžˆ 적자!
πŸ₯Š (5.0)ν•™μŠ΅ ν‚€μ›Œλ“œλŠ” ν•œμ€„μ˜ ν•΅μ‹¬μœΌλ‘œλ§Œ 정리, 성곡/μ‹€νŒ¨ 일지 μž‘μ„±ν•˜κΈ°! 이 λ•Œ, μ‹€νŒ¨μ˜ κ²½ν—˜μ€ μžμ„Ένžˆ 적기!
πŸ‰ (6.0)<μ™„μ „ 개편!!!> 맀일 μŠ΅κ΄€μ μœΌλ‘œ ν•΅μ‹¬λ§Œ 적을 수 있게 ν”„λ ˆμž„ λ³€κ²½. 성곡보단 μ‹€νŒ¨μ— μ΄ˆμ μ„ λ§žμΆ”κΈ°.

  • πŸ‰ (6.1)<μˆ˜μ •> 맀번 성곡, μ‹€νŒ¨λ₯Ό λ”°λ‘œ μ λŠ” 것보단 κ²½ν—˜μœΌλ‘œ ν‘œν˜„ν•˜μž

🌈 였늘의 감정

  • 쑰금 ν”Όκ³€ν•˜μ§€λ§Œ 맀우 맀우 μ’‹μŒ! λ‚΄κ°€ μ›ν•˜λ˜ νšŒμ‚¬μ— 닀녀와볼 수 μžˆμ–΄μ„œ!

🫧 였늘의 고민

  • Array의 map ν•¨μˆ˜ κ΅¬ν˜„ μ‹œ, this에 λŒ€ν•œ νƒ€μž…μ„ μ–΄λ–»κ²Œ 지정할지?

β˜€οΈ 였늘의 μ‹€νŒ¨

  • Array의 map ν•¨μˆ˜λ‘œ κ΅¬ν˜„ν•˜λŠ” 방법… thisλ₯Ό μ¨μ„œ ν•˜κ³  싢은데 νƒ€μž… μ—λŸ¬κ°€ λ‚œλ‹€.

✨ 였늘의 성곡

  • 일반 ν•¨μˆ˜λ‘œ map ν•¨μˆ˜ κ΅¬ν˜„ν•˜κΈ° => μ œλ„€λ¦­μ„ λ°°μš°λŠ”λ° 도움이 λΌμ„œ μ§„μ§œ 쒋은듯!
    • ν…ŒμŠ€νŠΈ μ½”λ“œλΆ€ν„° μž‘μ„±λ„ 성곡
    • 그리고 μ—¬μ°¨ν•˜λ©΄ d.ts에 μžˆλŠ” νƒ€μž…μ—μ„œ 힌트λ₯Ό μ–»μœΌλ©΄ λ˜κΈ΄ν•˜λ‹ˆκΉŒ!(봐도 잘 λͺ¨λ₯΄κ² λ„€β€¦ μ΄λŸ°γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹)
describe('map ν•¨μˆ˜ 숫자 λ°°μ—΄', () => {
  test('주어진 λ°°μ—΄ [1, 2, 3]에 λŒ€ν•΄μ„œ 각 μ›μ†Œμ— +1을 ν•œ μƒˆλ‘œμš΄ λ°°μ—΄ [2, 3, 4] 객체λ₯Ό λ°˜ν™˜ν•œλ‹€.' ,() => {
    expect(map([1, 2, 3], (v) => v + 1)).toEqual([2, 3, 4]);
  });
})

describe('map ν•¨μˆ˜ 문자 λ°°μ—΄', () => {
  test("주어진 λ°°μ—΄ ['jayden', 'sori', 'hodu']에 λŒ€ν•΄μ„œ 각 μ›μ†Œμ˜ μ•žμ— 'hi, 'λ₯Ό λ”ν•œ μƒˆλ‘œμš΄ λ°°μ—΄ ['hi, jayden', 'hi, sori', 'hi, hodu'] 객체λ₯Ό λ°˜ν™˜ν•œλ‹€." ,() => {
    expect(map(['jayden', 'sori', 'hodu'], (v) => `hi, ${v}`)).toEqual(['hi, jayden', 'hi, sori', 'hi, hodu']);
  });
})


describe('map ν•¨μˆ˜ μˆ«μžμ—μ„œ 문자 λ°°μ—΄', () => {
  test("주어진 λ°°μ—΄ [1, 2, 3]에 λŒ€ν•΄μ„œ 각 μ›μ†Œλ₯Ό λ¬Έμžμ—΄λ‘œ λ°”κΎΌ ['1', '2', '3'] 객체λ₯Ό λ°˜ν™˜ν•œλ‹€." ,() => {
    expect(map([1, 2, 3], (v) => `${v}`)).toEqual(['1', '2', '3']);
  });
})
interface CallbackFn<T, U> {
  (value: T, index?: number, array?: T[]): U;
}

function map<T, U>(targetArray: T[], callback: CallbackFn<T, U>) {
  const returnArray: U[] = [];
  for (let i = 0; i < targetArray.length; i++) {
    returnArray.push(callback(targetArray[i]));
  }
  return returnArray;
}

πŸͺ΅ μ°Έκ³ 

  • μ—†μŒ