์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํ๋ค๋ณด๋ฉด ๋ฐฐ์ด๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ผ ํ ๋๊ฐ ๋ง๋ค.
๋ค๋ฅธ ์ฌ๋๋ค์ ํ์ด๋ฅผ ๋ณด๋ฉด ์๋ก์ด ๋ฉ์๋๋ค๊ณผ ํ์ฉ๋ฒ์ ๋ณด๋ฉฐ ๊ฐํ์ด ๋์จ๋ค.
์๋ก์ด ๋ฉ์๋๋ค๋ ๊ณต๋ถํ ๊ฒธ์ฌ๊ฒธ์ฌ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐฐ์ด ๋ฉ์๋๋ฅผ ์ ๋ฆฌํด๋ณธ๋ค.
๋ค๋ฒผ๋ผ ๋ฐฐ์ด ๋ฉ์๋!!
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