πŸ“’TIL) JavaScript λ°°μ—΄(Array)κ³Ό λ©”μ„œλ“œ

TaeYangΒ·2021λ…„ 8μ›” 8일
0

JavaScript

λͺ©λ‘ 보기
4/5
post-thumbnail

μ˜€λŠ˜μ€ λ°°μ—΄(Array)κ³Ό λ°°μ—΄μ—μ„œ μ“°μ΄λŠ” λ©”μ„œλ“œ λͺ‡κ°€μ§€λ₯Ό μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€!

λ°°μ—΄(Array)μ΄λž€?

ν•˜λ‚˜μ˜ λ³€μˆ˜μ— 값을 μ—¬λŸ¬κ°œ μ €μž₯ν• μˆ˜ μžˆλŠ” μžλ£Œν˜•μ„ λ°°μ—΄(Array)라고 ν•©λ‹ˆλ‹€.

λ°°μ—΄(Array) μ„ μ–Έν•˜κΈ°πŸ˜ƒ

λ°°μ—΄(Array)은 μ—¬λŸ¬ 개의 데이터값을 ν•˜λ‚˜μ˜ λ°°μ—΄ μ΄λ¦„μœΌλ‘œ λ¬Άμ–΄μ„œ λŒ€κ΄„ν˜Έ[]둜 μ„ μ–Έ ν• μˆ˜μžˆλ‹€.
λŒ€κ΄„ν˜Έ[]μ•ˆμ— 값을 μž…λ ₯ν•˜μ§€ μ•Šκ³  μ„ μ–Έν•˜λ©΄ 빈 배열이 λ§Œλ“€μ–΄ 지기도 ν•©λ‹ˆλ‹€.!

λ°°μ—΄λͺ… ["κ°’1", "κ°’2", .....]   //기본적인 λ°°μ—΄
λ°°μ—΄λͺ… [ ]                    // 빈 λ°°μ—΄ μ„ μ–Έ

κ³„μ ˆ 이름을 λ³€μˆ˜μ— ν• λ‹Ήν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€κ³  μ‹Άμ„λ•Œ 배열을 μ‚¬μš© ν• λ•Œμ™€ μ•ˆν• λ•Œ μ½”λ“œλ₯Ό
μ˜ˆμ‹œλ‘œ ν•œλ²ˆ λ³΄κ² μŠ΅λ‹ˆλ‹€!

let spring = "λ΄„";
let summer = "여름";
let fall = "가을";
let winter = "겨울";

μ΄λ ‡κ²Œ 배열을 μ‚¬μš©ν•˜μ§€ μ•Šμ„λ•ŒλŠ” λ³€μˆ˜λ₯Ό 4κ°œλ‚˜ μ •μ˜ν•΄μ„œ 각각 ν• λ‹Ήν•΄μ•Όν•΄μ„œ λ²ˆκ±°λ‘­μŠ΅λ‹ˆλ‹€
ν•˜μ§€λ§Œ 배열을 μ‚¬μš©ν•˜λ©΄ μ•„λž˜μ²˜λŸΌ κ°„λ‹¨ν•˜κ²Œ μ½”λ“œλ₯Ό μž‘μ„± ν• μˆ˜μžˆμŠ΅λ‹ˆλ‹€.

let season = ["λ΄„", "여름", "가을", "겨울"];

인덱슀(index)

인덱슀(index)λŠ” μ‰½κ²Œ λ§ν•˜λ©΄ λ°°μ—΄μ•ˆμ— μžˆλŠ” μ—¬λŸ¬κ°œμ˜ μš”μ†Œλ₯Ό 번호둜 ν‘œμ‹œν•œλ‹€κ³  μƒκ°ν•˜λ©΄ λ©λ‹ˆλ‹€
λ§λ‘œλ§Œν•˜λ©΄ μ΄ν•΄ν•˜κΈ° μ–΄λ €μš°λ‹ˆ μ•„λž˜ 직접 λ§Œλ“  κ·Έλ¦Ό 그림을 λ³΄κ² μŠ΅λ‹ˆλ‹€!

λ°°μ—΄(Array)의 λ©”μ„œλ“œ

λ°°μ—΄μ—μ„œ μ“°μ΄λŠ” λ©”μ„œλ“œλŠ” μ—„μ²­ λ§Žμ§€λ§Œ μ˜€λŠ˜μ€ 6κ°€μ§€λ§Œ μ•Œμ•„ λ³Όλ €κ³  ν•©λ‹ˆλ‹€!

βœ”οΈconcatλ©”μ„œλ“œ

concat은 μ„œλ‘œ λ‹€λ₯Έ 배열을 ν•©μ³μ„œ μƒˆλ‘œμš΄ 배열을 λ°˜ν™˜ν•΄μ£ΌλŠ” λ©”μ„œλ“œ μž…λ‹ˆλ‹€.

let nums = [1, 2, 3 , 4];            // [1, 2, 3, 4]
let chars = ["a", "b", "c", "d"];    // ["a", "b", "c", "d"]
//2개λ₯Ό μ—°κ²°ν• λ•Œ
let numsChars = nums.concat(chars);   // [1, 2, 3, 4, "a", "b", "c", "d"]
//3개λ₯Ό μ—°κ²°ν• λ•Œ
let third = nums.concat(chars, nums); // [1, 2, 3, 4, "a", "b", "c", "d", 1, 2, 3, 4]
//배열에 κ°’ μ΄μ–΄λΆ™μΌλ•Œ
let num1 = nums.concat(1, 2, 3);      // [1, 2, 3, 4, 1, 2, 3]

βœ”οΈslice λ©”μ„œλ“œ

μ‹œμž‘κ³Ό 끝 인덱슀λ₯Ό μ§€μ •ν•΄μ„œ μš”μ†Œλ₯Ό κΊΌλ‚΄λŠ” κΈ°λŠ₯을 ν•˜λŠ” λ©”μ„œλ“œλ‹€.

첫번째 μΈμžμ—λŠ” λ°°μ—΄μ˜ 인덱슀의 μ‹œμž‘μ  이고
λ‘λ²ˆμ§Έ μΈμžμ—λŠ” λ°°μ—΄μ˜ 인덱슀의 끝점 이 λ“€μ–΄κ°‘λ‹ˆλ‹€!

et colors = ["red", "green", "blue", "white", "black"];
//인덱슀 값이 2인 μš”μ†ŒλΆ€ν„° λ§ˆμ§€λ§‰ μš”μ†ŒκΉŒμ§€ κΊΌλ‚΄κΈ°
let colors2 = colors.slice(2);     // ["blue", "white", "black"]
//인덱슀 값이 2λΆ€ν„° 3인 μš”μ†ŒκΉŒμ§€ κΊΌλ‚΄κΈ°
let colors3 = colors.slice(2, 4);  // ["blue", "white"]  
// 인덱슀 값이 μŒμˆ˜κ°€ λ“€μ–΄κ°ˆλ•Œ
let colors4 = colors.slice(-1)     //["black"]

βœ”οΈsplice λ©”μ„œλ“œ

spliceλŠ” λ°°μ—΄ λ‚΄μ˜ νŠΉμ •ν•œ μš”μ†Œλ₯Ό μ‚­μ œν•˜κ±°λ‚˜, λ‹€λ₯Έ μš”μ†Œλ₯Ό λŒ€μΉ˜ν•˜κ±°λ‚˜, μƒˆλ‘œμš΄ μš”μ†Œλ₯Ό μΆ”κ°€ν• λ•Œ μƒμš”ν•˜λŠ” λ©”μ„œλ“œμž…λ‹ˆλ‹€.

첫번째 μΈμžλŠ” λ°°μ—΄μ˜ 인덱슀의 μ‹œμž‘μ  이고
λ‘λ²ˆμ§Έ μΈμžλŠ” μ‚­μ œν•  μš”μ†Œμ˜ 개수 이고
μ„Έλ²ˆμ§Έ 인자 μ΄ν›„μ—λŠ” μΆ”κ°€ν•˜κ³  싢은 μš”μ†Œλ₯Ό λ„£μœΌλ©΄ λ©λ‹ˆλ‹€.
κ·Έλ¦Όμ—λŠ” 인자 3κ°œκ°€ λ“€μ–΄κ°”μ§€λ§Œ ν•„μš”μ— 따라 인자λ₯Ό μ΅œμ†Œ 1개만 μ“Έ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

let numbers = [1, 2, 3, 4, 5];
//μΈμžκ°€ 1개인 경우 μš”μ†Œ μ‚­μ œν•˜κΈ°
let newNumbers = numbers.splice(2);         // [3, 4, 5]
console.log(numbers);                       // [1. 2]
//μΈμžκ°€ 2개인 경우 μš”μ†Œ μ‚­μ œν•˜κΈ°
let study = ['html', 'css', 'js'];
let newStudy = study.splice(1, 1);          // ['css']
console.log(study);                         // ['html', 'js']
//μΈμžκ°€ 3개인 경우 μš”μ†Œ μ‚­μ œ 및 μΆ”κ°€ν•˜κΈ°
let study = ['html', 'css', 'js'];
let newStudy = study.splice(2, 1, 'wep');   // ['js']
console.log(study);                         // ['html', 'css', 'wep']

βœ”οΈpush λ©”μ„œλ“œμ™€ unshift λ©”μ„œλ“œ

pushλž‘ unshift λ©”μ„œλ“œλŠ” μ„œλ‘œ λ°˜λŒ€ λ˜λŠ” λ©”μ„œλ“œλΌμ„œ 같이 μ„€λͺ… ν•˜κ² μŠ΅λ‹ˆλ‹€.
push λ©”μ„œλ“œλŠ” λ°°μ—΄ 끝에 μš”μ†Œλ₯Ό μΆ”κ°€ν•˜λŠ” λ©”μ„œλ“œμ΄κ³ 
unshift λ©”μ„œλ“œλŠ” λ°°μ—΄ 맨 μ•žμ— μš”μ†Œλ₯Ό μΆ”κ°€ν•˜λŠ” λ©”μ„œλ“œμž…λ‹ˆλ‹€.

let nums = [1, 2, 3, 4];
let newNums = nums.push('a', 'b');     // [1, 2, 3, 4, 'a', 'b']
let nums = [1, 2, 3, 4];
let newNumbs = nums.unshift('a', 'b'); // ['a', 'b', 1, 2, 3, 4]

βœ”οΈpop λ©”μ„œλ“œ

pop λ©”μ„œλ“œλŠ” λ°°μ—΄ 뒀에 μžˆλŠ” μš”μ‡Όλ₯Ό κΊΌλ‚Όλ•Œ μ‚¬μš© ν•˜λŠ” λ©”μ„œλ“œμž…λ‹ˆλ‹€.

let chars = ['a', 'b', 'c', 'd'];
let result = chars.pop()              // ['d']
console.log(chars)                    // ['a', 'b', 'c']

μ°Έκ³ 

MDN Wep Docs λ°°μ—΄
MDN Wep Docs array λ©”μ„œλ“œ
JAVASCRIPT.INFO λ°°μ—΄
πŸ“’ Do it! HTML+CSS+μžλ°”μŠ€ν¬λ¦½νŠΈ μ›Ή ν‘œμ€€μ˜ 정석

νšŒκ³ πŸ€”

μš”λ²ˆ 주제인 λ°°μ—΄κ³Ό λ©”μ„œλ“œλŠ” μš”λ²ˆμ£Ό λ‚΄λ‚΄ 문제λ₯Ό ν’€λ©΄μ„œ λ‚˜λ₯Ό λ¨Έλ¦¬μ•„ν”„κ²Œλ„ ν•˜κ³  μ’Œμ ˆν•˜κ²Œλ„ λ§Œλ“€μ—ˆλ˜
파트 μ˜€μ—ˆλŠ”λ° 계속 검색도 ν•˜κ³  μŠ€ν„°λ””λ₯Ό 같이 ν•˜λŠ” λ™λ£Œν•œν…Œ 물어보기도 ν•˜λ‹€λ³΄λ‹ˆ μ‘°κΈˆμ”© 이해가 λ˜λŠ”κ±° κ°™μ•˜λ‹€.

늘 MDNμ΄λ‚˜ ꡬ글에 κ²€μƒ‰μ„ν•΄μ„œ 이게 λ­μ˜€μ§€? ν•˜λ©΄μ„œ μ°Ύμ•„λ³΄λ©΄μ„œ ν•˜λ‹€λ³΄λ‹ˆ λ‚΄κ°€ μ΄λ ‡κ²Œ κΈ°μ–΅λ ₯이
μ•ˆμ’‹μ•˜λ‚˜ 생각도 λ“€μ—ˆλŠ”λ° λ‹€λ“€ λ˜‘κ°™μ€ λ°©λ²•μœΌλ‘œ κ²€μƒ‰ν•˜λ©΄μ„œ ν•œλ‹€κ³  ν•΄μ„œ κ·Έλ‚˜λ§ˆ μœ„μ•ˆμ΄ 쑰금 된거 κ°™λ‹€.

μš”λ²ˆ 글은 μ„€λͺ…μ„μ½”λ“œλ‘œ 주ꡬμž₯μ°½ ν• λ €κ³  ν–ˆλ˜κ±° 같은데 λ‹€μŒμ—λŠ” λ‚΄κ°€ λ‚˜μ€‘μ— 글을 λ³Όλ•Œ μ–΄λ–€ λ‚΄μš©μΈμ§€ ν•œλˆˆμ— λ“€μ–΄μ˜€κ³  ν•œλ²ˆμ— 이해가 λ˜λ„λ‘ κ°„κ²°ν•˜κ²Œ μ„€λͺ…ν• μˆ˜ μžˆλ„λ‘ λ…Έλ ₯을 ν•΄μ•Όκ² λ‹€

profile
μŒμ•… 전곡 μ΄μ˜€λ˜ μ˜ˆλΉ„ ν”„λ‘ νŠΈμ—”λ“œ κ°œλ°œμžβ˜€οΈ

0개의 λŒ“κΈ€