console.table(arr) : console.log의 진화판. 이제 index와 값을 표로 보여준다!
arr.push('배열에 넣고 싶은 엘리먼트') : 배열의 가장 뒤에 엘리먼트를 추가한다. (값은 엘리먼트를 하나 넣은 후의 length를 반환!)
arr.pop () : 배열의 가장 뒤의 엘리먼트를 빼버린다. 그래서 빈칸으로 쓴다. (값은 빠지는 엘리먼트를 반환!)
arr.unshift('배열에 넣고 싶은 엘리먼트') : 배열의 제일 앞의 엘리먼트를 추가한다. (값은 엘리먼트를 하나 넣은 후의 length를 반환!)
arr.shift() : 배열의 제일 앞의 엘리먼트를 빼버린다. (값은 빠지는 엘리먼트를 반환!)
깔끔한 정리 => 앞에 넣고(unshift), 앞에 빼고(shift), 뒤에 넣고(push), 뒤에 빼고(pop)
반환할 때의 값을 주의해라! 그대로 retrun 하면 length나 빠질 엘리먼트 하나만 나온다. 계산 후에 원래 배열만 리턴하자!
indexOf('찾고자 하는 엘리먼트의 이름') : 배열 안에 있는 엘리먼트를 찾을 수 있다.
결과 값으로는 그 엘리먼트가 있는 index값이 나오고, 만약 없으면 -1이 나온다.
Tip : indexOf('찾고자 하는 엘리먼트의 이름')!== -1 하면 블리언 값으로도 찾을 수 있다. 있다면 index값을 반환하고, 없으면 -1을 반환하기 때문!
word.includes('찾고자 하는 엘리먼트 이름') : indexOf 써서!== -1 하는 것과 같은 결과를 준다. 블리언 값으로 나온다.
str.concat(배열 그대로 더할 배열) : 배열 + 배열이면 string 타입 그대로 더해 주지만, 이것으로 배열 그 자체로 더 해서 배열들의 배열을 만들 수 있다.
Math.max.apply(null, arr) : 배열 중에, 가장 큰 요소를 반환한다.
arr.splice(arr, arr에서 빼 버릴 index) : 특정 index의 엘리먼트만 뺀다. 앞뒤 말고 중간에서도 가능!
arr.splice(넣을 index, 그 뒤로 몇 개를 빼고 넣을 것인지, 넣을 엘리먼트) : 심지어 중간에 엘리먼트를 넣을 수 도 있다.
arr.join('기준으로 합쳐줄 문자열') : 기준을 하나 정해서 그 기준을 다 없애고 하나의 문자로 만들어 버린다.
2. 피보나치의 수열
현재 항의 값이 이전 2개의 항의 합으로 계산되는 수열.
이라고는 하나... 식으로 보는 게 이해가 빠르다. f(n) = {0, 1, F(n - 1) + F(n - 2)···}
그 전전의 숫자부터 영향을 받는다고 생각하면 쉽다. 정말 단순하게 예시를 들자면, 아침에 먹은 밥이 소화가 덜되서 위장에 남아 있는데 다시 점심을 먹어서 채운다!
(이해가 안되면 정상이다. 이해하려 하지 마라)
이걸 자바스크립트로 가져오면?
function fibonacci(num) { let result = [0, 1] //0과 1일 때는 0과 1을 그대로 반환해야 하기 때문에 처음부터 넣어 둔다.
if(num === 0) { //하지만 num가 0인 경우, [0, 1]을 반환하기 때문에 따로 조건문을 설정했다.
return [0]; }
for(let i = 2; i <= num; i++) { //for문으로 2부터 num전까지 index의 모든 숫자를 얻을 수 있다.
result.push(result [i - 1] + result[i - 2]) //피보나치의 수열의 식을 그대로 사용! 그 후 배열에 더해준다. }
return result;
}
3. 객체
여러 개의 변수가 자주 교체되어야 하는 경우 매우 화가 난다! 심지어 변수의 변화 속에서 관계성도 전혀 없다면??
배열을 쓸 경우, 마찬가지, 각 index 값이 어떤 정보를 담고 있는지 알 수 없다. 이럴 때 사용하는 것이 '객체'이다.
let 책상 위 물건 = {
컴퓨터 관련: '노트북'...
음악 관련: '이어폰'...
환경 관련: '선풍기'...
};