[TIL] Day11
[SEB FE] Day11
: ์์๊ฐ ์๋ ๊ฐ / ๋๊ดํธ(square bracket, []
) ์ด์ฉ
index
: ์์ / 1์ด ์๋ 0๋ถํฐ ๋ฒํธ๋ฅผ ๋งค๊นelement
(์์): index์ ํด๋นํ๋ ๊ฐ โ ๊ฐ์ index๋ฅผ ์ด์ฉํด ์ ๊ทผ let myNumber = [10, 20, 30, 40];
// index๊ฐ 3์ธ ๊ฐ ๋ณ๊ฒฝ
myNumber[3] = 400;
myNumber; // [10, 20, 30, 400];
myNumber.length; // 4. <- ๋ฐฐ์ด์ ๊ธธ์ด
myNumber.push(50); // ๋ฐฐ์ด ๋์ 50์ด๋ผ๋ ๊ฐ์ ์ถ๊ฐ
myNumber; // [10, 20, 30, 40, 50];
myNumber.pop(); // ๋ฐฐ์ด ๋ง์ง๋ง ๊ฐ ์ญ์
myNumber; // [10, 20, 30, 40];
myNumber[5]; // ๋ฐฐ์ด์ ์๋ index -> undefined
let yourNumber = [[10, 20], [30, 40], [50, 60]];
yourNumber[1][0]; // 30
โย ์จ์ (dot)์ ์ด์ฉํด์ ๋ณ์๊ฐ ๊ฐ์ง๊ณ ์๋ ์์ฑ(property)์ ์ ๊ทผ ๊ฐ๋ฅmyNumber.length;
()
ํํ๋ก ์คํ)myNumber.push();
๋ฐ๋ณต๋ฌธ์ ์ด์ฉํ์ฌ ๋ฐฐ์ด์ ์์(element)๋ฅผ ํ๋ฒ์ฉ ์ถ๋ ฅ
let myNum = [10, 20, 30, 40];
for(let n = 0; n < myNum.length; n++) {
console.log(myNum[n]);
}
๋ฐ๋ณต๋ฌธ์ ์ด์ฉํ์ฌ ๋ฐฐ์ด์ ๋ชจ๋ element ๊ฐ์ ํฉ ์ถ๋ ฅ
let myNum = [10, 20, 30, 40];
let sum = 0;
for(let n = 0; n < myNum.length; n++) {
sum = sum + myNum[n]; // sum += myNum[n];
}
Array.isArray()
: ์๋ฐ์คํฌ๋ฆฝํธ์ ํน์ ๊ฐ์ด ๋ฐฐ์ด์ธ์ง ์๋์ง ํ๋ณlet myNum = [10, 20, 30, 40];
typeof myNum; // "object" (๋ฐฐ์ด์ ํ์
)
Array.isArray(myNum); // true (๋ฐฐ์ด์ด๋ฏ๋ก)
Array.isArray(123); // false (๋ฐฐ์ด์ด ์๋๋ฏ๋ก)
โย console.table();
์ ํ์ฉํ๋ฉด console ์ฐฝ์์ ๋ฐฐ์ด์ ๋ณด๊ธฐ ์ข๊ฒ ํ
์ด๋ธ ํํ๋ก ์ถ๋ ฅ ๊ฐ๋ฅโย ๋ฐฐ์ด ์๋ณธ ๋ณ๊ฒฝ O
push()
: ๋ฐฐ์ด ๋งจ ๋ค์ element ์ถ๊ฐ โ ๋ฐฐ์ด์ length
๋ฐํ
pop()
: ๋ฐฐ์ด ๋งจ ๋ค์ element ์ญ์ โ ์ ๊ฑฐํ ๋ง์ง๋ง ์์
๋ฐํ
unshift()
: ๋ฐฐ์ด ๋งจ ์์ element ์ถ๊ฐ โ ๋ฐฐ์ด์ length
๋ฐํ
shift()
: ๋ฐฐ์ด ๋งจ ์์ element ์ญ์ โ ์ ๊ฑฐํ ์ฒซ๋ฒ์งธ ์์
๋ฐํ
indexOf()
: ํน์ ๊ฐ์ index ์ถ๋ ฅ
-1
์ถ๋ ฅincludes()
: ํน์ ๊ฐ์ด ๋ฐฐ์ด์ ์กด์ฌํ๋์ง ํ๋ณ (true/false)
// ๋ฐฐ์ด์ ์ฐพ์ผ๋ ค๋ ๊ฐ์ด ์๋์ง ํ๋ณํ๋ ํจ์
let words = ['Nice', 'to', 'meet', 'you'];
function hasElement(arr, element) {
let isPresent = arr.indexOf(element) !== -1; // element๊ฐ ๋ฐฐ์ด์ ์์์ ์๋ฏธ
return isPresent;
}
hasElement(words, 'meet'); // true
hasElement(words, 'me'); // false
// includes()
words.includes('Nice'); // true
words.includes('why'); // false
โ๏ธย ์ฐ์ต๋ฌธ์ ๋ฅผ ํ๊ณ ์๋กญ๊ฒ ์๊ฒ ๋ ๊ฐ๋ ๋ค ์ ๋ฆฌ
slice(์์ํ ์์(ํฌํจO), ๋๋ผ ์์(ํฌํจX))
// Q: ๋ฐฐ์ด์ ์
๋ ฅ๋ฐ์ ๋ฐฐ์ด์ ๋ง์ง๋ง ์์๊ฐ ์ ์ธ๋ ์๋ก์ด ๋ฐฐ์ด์ ๋ฆฌํด
function removeFromBackOfNew(arr) {
let newArr = arr.slice(); // arr์ ๋๊ฐ์ ๋ฐฐ์ด ์์๋ค์ ๋ณต์ (arr๋ ๋ณ๊ฒฝ X)
newArr.pop();
return newArr;
}
join(โโ)
: ๋ฐฐ์ด์ ๋ชจ๋ ์์๋ฅผ ์ฐ๊ฒฐํ์ฌ ํ๋์ ๋ฌธ์์ด๋ก ๋ง๋ฌconst words = ['Hello', 'Hi'];
words.join(); // "Hello,Hi"
words.join(''); // "HelloHi"
words.join('-'); // "Hello-Hi"
concat()
: ์ธ์๋ก ์ฃผ์ด์ง ๋ฐฐ์ด์ด๋ ๊ฐ๋ค์ ๊ธฐ์กด ๋ฐฐ์ด์ ํฉ์ณ์ ์ ๋ฐฐ์ด ๋ฐํarr1 = [1, 2];
arr2 = [3, 4];
num = 5;
arr1.concat(arr2); // [1, 2, 3, 4]
arr1.concat(num); // [1, 2, 5]
function fibonacci(num) {
// ํผ๋ณด๋์น => ๋ค์ ์ = ๋งจ ๋์ ์๋ ์ + ๊ทธ ์์ ์๋ ์
// ์ซ์๋ฅผ ์
๋ ฅ๋ฐ์์ num๋ฒ์งธ ํผ๋ณด๋์น ์์ด์ ๋ฆฌํด
// 1. ํผ๋ณด๋์น ์์ด์ ๋ด์์ค ๋ฐฐ์ด์ ํ๋ ๋ง๋ฌ
// 2. ๋ฐ๋ณต๋ฌธ numํ ๋ฐ๋ณตํ๋ฉด์
// 3. ๋ ์์ ํฉ์ด ๋ค์ ์ซ์ -> ๋ ๊ฐ์ ์ซ์๋ ๋ฐ๋์ ํ์
// [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
let fib = [];
for (let i = 0; i <= num; i++) {
if (i === 0 || i === 1) {
fib.push(i); // [0, 1]
} else {
fib.push(fib[i-2] + fib[i-1]);
}
}
return fib;
}