๋”ฐํŒŒ๐Ÿ•
Hwaiian Pizza IT Pub
๋”ฐํŒŒ๐Ÿ•
  • ALL (62)
    • Front-End (13)
      • HTML & CSS (2)
      • JavaScript (7)
      • React (2)
      • TypeScript (0)
      • Jquery (0)
      • Git (1)
      • Editor (0)
    • Algorithms (44)
      • Baekjoon (28)
      • Programmers (13)
      • Algorithms (3)
    • Computer Science (0)
      • Math (0)
    • Conference (1)
    • Life (3)
      • Book (0)
hELLO ยท Designed By ์ •์ƒ์šฐ.
๋”ฐํŒŒ๐Ÿ•

Hwaiian Pizza IT Pub

[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์•Œ์•„๋‘๋ฉด ์œ ์šฉํ•œ ๋ฐฐ์—ด Array ๋ฉ”์†Œ๋“œ ์ •๋ฆฌ (feat.๋“œ๋ฆผ์ฝ”๋”ฉ)
Front-End/JavaScript

[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์•Œ์•„๋‘๋ฉด ์œ ์šฉํ•œ ๋ฐฐ์—ด Array ๋ฉ”์†Œ๋“œ ์ •๋ฆฌ (feat.๋“œ๋ฆผ์ฝ”๋”ฉ)

2022. 5. 26. 22:28
๋ฐ˜์‘ํ˜•

 

 

 

 

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค๋ณด๋ฉด ๋ฐฐ์—ด๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ• ๋•Œ๊ฐ€ ๋งŽ๋‹ค.

๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ํ’€์ด๋ฅผ ๋ณด๋ฉด ์ƒˆ๋กœ์šด ๋ฉ”์†Œ๋“œ๋“ค๊ณผ ํ™œ์šฉ๋ฒ•์„ ๋ณด๋ฉฐ ๊ฐํƒ„์ด ๋‚˜์˜จ๋‹ค.

์ƒˆ๋กœ์šด ๋ฉ”์†Œ๋“œ๋“ค๋„ ๊ณต๋ถ€ํ• ๊ฒธ์‚ฌ๊ฒธ์‚ฌ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐฐ์—ด ๋ฉ”์†Œ๋“œ๋ฅผ ์ •๋ฆฌํ•ด๋ณธ๋‹ค.

 

๋ค๋ฒผ๋ผ ๋ฐฐ์—ด ๋ฉ”์†Œ๋“œ!!

 

 

 

1. ๋ฐฐ์—ด(Array)


 

 

๋ฐ์ดํ„ฐ์˜ ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ์ง‘ํ•ฉ์ด๋‹ค. ๋ฐฐ์—ด์€ ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜์˜ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

 

let numArr = [1, 2, 3, 4];
console.log(numArr); // [1, 2, 3, 4]

 

 

 

 

2. ๋ฐฐ์—ด (Array) ๋ฉ”์†Œ๋“œ ์™€ ์˜ˆ์‹œ


 

 

2-1. toString

๋ฐฐ์—ด์˜ ์žˆ๋Š” ์š”์†Œ๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜

let arr = [1,2,3,4]
console.log(arr.toString()); // 1,2,3,4

let arr2 = ['a', 'b', 'c', 'd']
console.log(arr2.toString()); // a,b,c,d

 

 

2-2. join

๋ฐฐ์—ด์˜ ์žˆ๋Š” ์š”์†Œ๋ฅผ ๊ตฌ๋ถ„๊ธฐํ˜ธ๋ฅผ ์ง€์ •ํ•˜์—ฌ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜

let arr = [1, 2, 3, 4]
console.log(arr.join('|')); // 1|2|3|4

let arr2 = ['a', 'b', 'c', 'd']
console.log(arr2.join('-')); // a-b-c-d

 

 

2-3. push

๋ฐฐ์—ด์˜ ๋์— ์ƒˆ๋กœ์šด ์š”์†Œ๋ฅผ ์ถ”๊ฐ€

let arr = [1,2,3];
arr.push(4);
console.log(arr); // [1,2,3,4]

 

 

2-4. pop

๋ฐฐ์—ด์˜ ๋์— ์žˆ๋Š” ์š”์†Œ๋ฅผ ์‚ญ์ œ

let arr = ['pineapple', 'mango', 'watermelon']
arr.pop();
console.log(arr); // ['pineapple', 'mango']

 

2-5. unshift

๋ฐฐ์—ด์˜ ์•ž๋ถ€๋ถ„์— ์ƒˆ๋กœ์šด ์š”์†Œ๋ฅผ ์ถ”๊ฐ€

let arr = [1,2,3];
arr.unshift(0);
console.log(arr); // [0,1,2,3]

 

 

2-6. shift

๋ฐฐ์—ด์˜ ์•ž๋ถ€๋ถ„์— ์š”์†Œ๋ฅผ ์‚ญ์ œ

let arr = ['pineapple', 'mango', 'watermelon']
arr.shift();
console.log(arr); // ['mango','watermelon']

 

 

2-7. splice

๋ฐฐ์—ด์˜ ํŠน์ •์œ„์น˜์— ์žˆ๋Š” ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ ๋˜๋Š” ์‚ญ์ œ

์›๋ณธ ๋ฐฐ์—ด ๋ฐ”๋€œ

 

splice(idx, ์ œ๊ฑฐํ•  ์š”์†Œ ๊ฐœ์ˆ˜, ๋ฐฐ์—ด์— ์ถ”๊ฐ€ํ•  ์š”์†Œ)

let money = [100, 1000, 10000]
money.splice(0,0,10); // ๋ฐฐ์—ด ๋งจ์•ž(0)์— ์–ด๋–ค์š”์†Œ๋„ ์‚ญ์ œํ•˜์ง€ ์•Š๊ณ  10์„ ์ถ”๊ฐ€ํ•จ
console.log(money); // [10, 100, 1000, 10000]

money.splice(3,1,50000); // ๋ฐฐ์—ด ๋งจ๋งˆ์ง€๋ง‰(3)์— ์žˆ๋Š” ์š”์†Œ ํ•˜๋‚˜(1)๋ฅผ ์‚ญ์ œํ•˜๊ณ  50000์„ ์ถ”๊ฐ€ํ•จ
console.log(money); // [10, 100, 1000, 50000]

 

 

2-8. slice

๋ฐฐ์—ด์˜ ํŠน์ • ์œ„์น˜ ๋ถ€๋ถ„์„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ๊ฐ์ฒด๋กœ ๋ฐ˜ํ™˜

์›๋ณธ ๋ฐฐ์—ด ๋ฐ”๋€Œ์ง€ ์•Š์Œ

 

slice(startIdx, endIdx)

const array = [1, 2, 3, 4, 5];
const result = array.slice(2,5); // idx 2๋ถ€ํ„ฐ 4๊นŒ์ง€(5๋ฏธํฌํ•จ)์— ๋Œ€ํ•œ ๋ณต์‚ฌ๋ณธ์„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด๋กœ ๊ฐ์ฒด๋กœ ๋ฐ˜ํ™˜
console.log(result); // [3, 4, 5]

 

 

2-9. reverse

๋ฐฐ์—ด์˜ ์š”์†Œ๋“ค์˜ ์ˆœ์„œ๋ฅผ ๋’ค์ง‘์Œ(๋ฐ˜์ „)

const array = [1, 2, 3, 4, 5];
console.log(array.reverse()); // [5, 4, 3, 2, 1]

 

 

2-10. sort

๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ์ ์ ˆํ•œ ์œ„์น˜์— ์ •๋ ฌํ•จ

๊ธฐ๋ณธ ์ •๋ ฌ์˜ ๊ธฐ์ค€์€ ๋ฌธ์ž์—ด์˜ ์œ ํ‹ฐ์ฝ”๋“œ ํฌ์ธํŠธ(๋ฌธ์ž์—ด๋กœ ์ทจ๊ธ‰ํ•˜์—ฌ ์ •๋ ฌ)

let arr = [10, 1, 2, 3, 33, 44, 13, 21];
arr.sort();
console.log(arr); // [1, 10, 13, 2, 21, 3, 33, 44]

// ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
arr.sort((a,b) => a-b);
console.log(arr); // [1, 2, 3, 10, 13, 21, 33, 44]

// ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ
arr.sort((a,b) => b-a);
console.log(arr); // [44, 33, 21, 13, 10, 3, 2, 1]

 

 

2-11. concat

์ธ์ž๋กœ ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์ด๋‚˜ ๊ฐ’๋“ค์„ ๊ธฐ์กด ๋ฐฐ์—ด์— ํ•ฉ์ณ์„œ ์ƒˆ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜

let fruits = ['melon' ,'banana' , 'apple'];
let newFruits = fruits.concat('mango', 'kiwi');
console.log(newFruits); // ["melon", "banana", "apple", "mango", "kiwi"]

let fruits2 = ['orange'];
let newFruits2 = fruits.concat(fruits2);
console.log(newFruits2); // ["melon", "banana", "apple", "orange"]

 

 

2-12. filter

์ฃผ์–ด์ง„ ํ•จ์ˆ˜์˜ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๋Š”(๊ฒฐ๊ณผ๊ฐ’ : true) ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋ชจ์•„ ์ƒˆ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
let evenArr = arr.filter((val) => val % 2 === 0);
console.log(evenArr); // [2, 4, 6, 8, 10]

 

 

2-13. map

๋ฐฐ์—ด๋‚ด์˜ ๋ชจ๋“  ์š”์†Œ์— ๋Œ€ํ•ด ์ฃผ์–ด์ง„ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์•„ ์ƒˆ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜

let arr = [1, 2, 3, 4];
let newArr = arr.map((val) => val * 2);
console.log(newArr); // [2, 4, 6, 8]

 

 

2-14. reduce

๋ฐฐ์—ด์„ ๋Œ๋ฉด์„œ ์ฃผ์–ด์ง„ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•œ ์š”์†Œ์„ ๋ˆ„์ ํ•ด ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฐ˜ํ™˜

const arr = [1, 2, 3, 4]
const result = arr.reduce((prev, curr)=> {
  return prev + curr;
  }, 0);
console.log(result); // 10

 

 

2-15. some

๋ฐฐ์—ด์•ˆ์˜ ์–ด๋–ค ์š”์†Œ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์ฃผ์–ด์ง„ ํ•จ์ˆ˜๋ฅผ ํ†ต๊ณผํ•˜๋ฉด true๋ฅผ ๋ฐ˜ํ™˜, ํ†ต๊ณผ ๋ชปํ•  ์‹œ false๋ฅผ ๋ฐ˜ํ™˜

(๋นˆ ๋ฐฐ์—ด ํ˜ธ์ถœ์‹œ ๋ฌด์กฐ๊ฑด false๋ฅผ ๋ฐ˜ํ™˜)

let arr = [1, 3, 5, 8, 11];
let isEven = (val) => val % 2 === 0;
console.log(arr.some(isEven)); // true  arr์— 8์ด๋ผ๋Š” isEven์„ ํ†ต๊ณผํ•˜๋Š” ์š”์†Œ๊ฐ€ ํ•˜๋‚˜๋ผ๋„ ์žˆ์—ˆ๊ธฐ์— true

 

 

2-16. every

๋ฐฐ์—ด์— ์žˆ๋Š” ๋ชจ๋“  ์š”์†Œ๊ฐ€ ์ฃผ์–ด์ง„ ํ•จ์ˆ˜๋ฅผ ํ†ต๊ณผํ•˜๋ฉด true, ํ†ต๊ณผ ๋ชปํ•  ์‹œ false๋ฅผ ๋ฐ˜ํ™˜

let arr = [1, 3, 5, 8, 11];
let isEven = (val) => val % 2 === 0;
console.log(arr.every(isEven)); // false  ๋ฐฐ์—ด์— ์žˆ๋Š” ์š”์†Œ์ค‘ 8์„ ๋นผ๊ณ ๋Š” ํ•จ์ˆ˜๋ฅผ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ•จ

let arr2 = [2, 4, 6, 8];
console.log(arr2.every(isEven)); // true  ๋ฐฐ์—ด์— ์žˆ๋Š” ๋ชจ๋“  ์š”์†Œ๊ฐ€ ํ•จ์ˆ˜๋ฅผ ํ†ต๊ณผ

 

 

2-17. find

์ฃผ์–ด์ง„ ํ•จ์ˆ˜๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์ฒซ๋ฒˆ์งธ ์š”์†Œ์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜

(๋งŒ์กฑํ•˜๋Š” ์š”์†Œ๊ฐ€ ์—†๋‹ค๋ฉด undefined๋ฅผ ๋ฐ˜ํ™˜)

let arr = [2, 6, 12, 100, 2021];
console.log(arr.find( val => val > 10)); // 12

 

 

2-18. indexOf

๋ฐฐ์—ด์— ์™ผ์ชฝ๋ถ€ํ„ฐ ์ง€์ •๋œ ์š”์†Œ๋ฅผ ์ฐพ์•„ ๋งŒ์กฑํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ์š”์†Œ์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜

(๋งŒ์กฑํ•˜๋Š” ์š”์†Œ๊ฐ€ ์—†๋‹ค๋ฉด -1์„ ๋ฐ˜ํ™˜)

let arr = [1, 2, 3, 4];
console.log(arr.indexOf(2)); // 1
console.log(arr.indexOf(0)); // -1

 

 

2-19. lastIndexOf

๋ฐฐ์—ด์— ์™ผ์ชฝ๋ถ€ํ„ฐ ์ง€์ •๋œ ์š”์†Œ๋ฅผ ์ฐพ์•„ ๋งŒ์กฑํ•˜๋Š” ๋งˆ์ง€๋ง‰ ์š”์†Œ์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜

(๋งŒ์กฑํ•˜๋Š” ์š”์†Œ๊ฐ€ ์—†๋‹ค๋ฉด -1์„ ๋ฐ˜ํ™˜)

let arr = [1, 2, 3, 4, 2, 3, 2];
console.log(arr.lastIndexOf(2)); // 6
console.log(arr.lastIndexOf(3)); // 5

 

 

2-20. includes

๋ฐฐ์—ด์ด ํŠน์ • ์š”์†Œ๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š”์ง€ ํŒ๋ณ„ํ•จ

let arr = [1, 2, 3, 4];
console.log(arr.includes(2)); // true

 

 

2-21. forEach

์ฃผ์–ด์ง„ ํ•จ์ˆ˜๋ฅผ ๋ฐฐ์—ด ์š”์†Œ ๊ฐ๊ฐ ์ „๋ถ€ ์‹คํ–‰

let arr = [1, 2, 3, 4];
arr.forEach((ele) => console.log(ele + 1));

// 2
// 3
// 4
// 5

 

 

 

 

 

 

 

Refernce (์ฐธ์กฐ)

 

 

https://developer.mozilla.org/ko/

https://www.youtube.com/watch?v=3CUjtKJ7PJg 

 

 

 

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Front-End > JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž๋ฃŒํ˜• Map ๊ฐœ๋…์ •๋ฆฌ  (0) 2022.06.13
[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž๋ฃŒํ˜• Set ๊ฐœ๋…์ •๋ฆฌ  (0) 2022.06.07
[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ๋ฐฐ์—ด(Array)์˜ ๊ฐœ๋…๊ณผ ์˜ˆ์‹œ (feat.๋“œ๋ฆผ์ฝ”๋”ฉ)  (0) 2022.05.31
[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์•Œ์•„๋‘๋ฉด ์œ ์šฉํ•œ Math ๋ฉ”์†Œ๋“œ ์ •๋ฆฌ, ๋กœ๋˜๋ฒˆํ˜ธ ์ถ”์ถœ๊ธฐ  (0) 2022.05.23
[JS] ๋…ธ๋งˆ๋“œ ์ฝ”๋” : ๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฑŒ๋ฆฐ์ง€ ํ›„๊ธฐ  (0) 2022.05.07
    'Front-End/JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž๋ฃŒํ˜• Set ๊ฐœ๋…์ •๋ฆฌ
    • [์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ๋ฐฐ์—ด(Array)์˜ ๊ฐœ๋…๊ณผ ์˜ˆ์‹œ (feat.๋“œ๋ฆผ์ฝ”๋”ฉ)
    • [์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ] ์•Œ์•„๋‘๋ฉด ์œ ์šฉํ•œ Math ๋ฉ”์†Œ๋“œ ์ •๋ฆฌ, ๋กœ๋˜๋ฒˆํ˜ธ ์ถ”์ถœ๊ธฐ
    • [JS] ๋…ธ๋งˆ๋“œ ์ฝ”๋” : ๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฑŒ๋ฆฐ์ง€ ํ›„๊ธฐ
    ๋”ฐํŒŒ๐Ÿ•
    ๋”ฐํŒŒ๐Ÿ•
    ์ €์ชฝ ์†๋‹˜์ด ๋ณด๋‚ด์‹  ์—๋Ÿฌ์ž…๋‹ˆ๋‹ค. ๋””๋ฒ„๊น… ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?๐Ÿน

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”