πŸ€·πŸ»β€β™€οΈ Array? 그게 뭐죠3

λ‚˜μΏ ν¬Β·2023λ…„ 1μ›” 7일
0
post-thumbnail

μ•Œλ‹€κ°€λ„ λͺ¨λ₯Ό Arrayλ₯Ό μ•Œμ•„λ³΄μž ✍🏻

"λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ λ”₯λ‹€μ΄λΈŒ"
λ°°μ—΄(array)은 1개의 λ³€μˆ˜μ— μ—¬λŸ¬ 개의 값을 순차적으둜 μ €μž₯ν•  λ•Œ μ‚¬μš©ν•œλ‹€. μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ 배열은 객체이며 μœ μš©ν•œ λ‚΄μž₯ λ©”μ†Œλ“œλ₯Ό ν¬ν•¨ν•˜κ³  μžˆλ‹€.
배열은 Array μƒμ„±μžλ‘œ μƒμ„±λœ Array νƒ€μž…μ˜ 객체이며 ν”„λ‘œν† νƒ€μž… κ°μ²΄λŠ” Array.prototype이닀.

"mdn"
ArrayλŠ” JavaScript Array ν΄λž˜μŠ€λŠ” 리슀트 ν˜•νƒœμ˜ κ³ μˆ˜μ€€ 객체인 배열을 생성할 λ•Œ μ‚¬μš©ν•˜λŠ” μ „μ—­ κ°μ²΄μž…λ‹ˆλ‹€.

"μ½”λ”©μ• ν”Œ"
Array μžλ£Œν˜• : [자료1, 자료2, 자료3...]
μžλ£Œκ°„ μˆœμ„œκ°€ μ‘΄μž¬ν•¨ (objectλŠ” μˆœμ„œ κ°œλ… μ—†μŒ)

"μ½”μ–΄μžλ°”μŠ€ν¬λ¦½νŠΈ"
λ°°μ—΄ : νŠΉμˆ˜ν•œ ν˜•νƒœμ˜ 객체둜, μˆœμ„œκ°€ μžˆλŠ” 자료λ₯Ό μ €μž₯ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” μš©λ„μ— μ΅œμ ν™”λœ 자료ꡬ쑰




Arrayμ—μ„œ μžμ£Όμ“°μ΄λŠ” ν•¨μˆ˜



1. map

  • λͺ¨λ“  arrayλ₯Ό λ˜‘κ°™μ΄ λ³€ν˜•μ‹œν‚¬ 수 있음 (νŒλ§€μ‚¬μ΄νŠΈ κ΅¬ν˜„ν• λ•Œ λ‹¬λŸ¬, 원화λ₯Ό λ°”κΏ€λ•Œ ν™œμš©ν•  수 있음)
  • 배열을 λ³€ν˜•μ‹œν‚€κ±°λ‚˜ μš”μ†Œλ₯Ό 재 μ •λ ¬ν•΄μ£ΌλŠ” λ©”μ„œλ“œ
const μ–΄λ ˆμ΄ = [4,7,9,10,57];

μ–΄λ ˆμ΄.map(function(a){
  return a * 2
});

console.log(μ–΄λ ˆμ΄);

2. filter

  • 자료 μ›ν•˜λŠ” κ²ƒλ§Œ 필터함 (ν•¨μˆ˜μ˜ λ°˜ν™˜ 값을 true둜 λ§Œλ“œλŠ” 단 ν•˜λ‚˜μ˜ μš”μ†Œλ§Œ 찾음)
  • 원본을 λ³€ν˜•μ‹œν‚€μ§€μ•Šκ³  λ³€κ²½λœ 값을 κ·Έμžλ¦¬μ— λ‚¨κ²¨μ£ΌκΈ°λ•Œλ¬Έμ— filter()κ²°κ³ΌλŠ” λ³€μˆ˜μ— μ €μž₯ν•΄μ„œ 써야함
    ( .sort()λŠ” μ˜ˆμ „λ¬Έλ²•μ΄λΌ μ›λ³Έλ³€ν˜•μ‹œν‚΄ )
const μ–΄λ ˆμ΄ = [4,7,9,10,57];

const μƒˆμ–΄λ ˆμ΄ = μ–΄λ ˆμ΄.filter(function(a){
  return a < 4
});

console.log(μ–΄λ ˆμ΄);

3. forEach

  • 주어진 ν•¨μˆ˜λ₯Ό λ°°μ—΄ μš”μ†Œ 각각에 λŒ€ν•΄ μ‹€ν–‰ν•  수 있게 ν•΄μ€Œ
  • 인수둜 λ„˜κ²¨μ€€ ν•¨μˆ˜μ˜ λ°˜ν™˜κ°’μ€ λ¬΄μ‹œλ¨
["Bilbo", "Gandalf", "Nazgul"].forEach((item, index, array) => {
  alert(`${item} is at index ${index} in ${array}`);
});

4. find

  • νŠΉμ • 쑰건에 λΆ€ν•©ν•˜λŠ” 객체λ₯Ό λ°°μ—΄ λ‚΄μ—μ„œ 찾을 수 있음
let users = [
  {id: 1, name: "jeong"},
  {id: 2, name: "min"},
  {id: 3, name: "miya"}
];

let user = users.find(item => item.id == 1);

alert(user.name); // jeong

0개의 λŒ“κΈ€