• 회원가입
  • 로그인
  • 구글아이디로 로그인

[JS-엘리] JS 8강 - 배열 개념과 APIs 총정리 | (JavaScript ES6 )

869  

동영상 수강 전 본문 내용 스캔.

동영상 수강 후 본문 내용 스캔. 

 

목차 

 

00:49 배열 개념. (※ 객체 vs 자료구조)

06:07 1. Array declaration

07:00 2. Index position

09:46 3. Looping over an array

16:51 4. Addition, Deletion, Copy 

26:22 5. Searching

 

 

00:49

1. 객체 vs 배열

 

[객체]

토끼 (귀 2개, 먹는다, 뛴다)

당근 (비타민, 주황색)

 

 

[배열] ≒ 자료 구조의 일종.

토끼 종류끼리 묶음.  

당근 종류끼지 묶음. 

※ 토끼, 당근 함께 묶을 수 있으나, 비권장.

 

PS1. (검색・삽입・삭제・정렬)할 때, 속도 효율성 좋은 알고리즘 선택이 중요.

PS2. 배열 index (= 색인번호)는 0부터 시작. 마지막 index는 arr.length - 1

 

06:07

1. Array declaration

 

'use strict';


// Array 


// 1. Declaration

const arr1 = new Array();

const arr2 = [1, 2]; // 더 흔한 방법


 

07:00

2. Index position

 

// 2. Index position

const fruits = ['사과', '바나나'];

console.log(fruits); // (2) ['사과', '바나나']

console.log(fruits.length); // 2

console.log(fruits[0]); // 사과

console.log(fruits[1]); // 바나나

console.log(fruits[2]); // undefined

console.log(fruits[fruits.length - 1]; // 바나나

 

결과보기

 

09:46

3. Looping over an array

 

// 3. Looping over an array

// print all fruits

// a. for

for (let i = 0; i < fruits.length; i++) {

    console.log(fruits[i]);

}


// b. for...of

for (let fruit of fruits) {

    console.log(fruit);

}


// c. forEach (※ 3가지 방법 존재)

// c-1. 일반함수

fruits.forEach(function(fruit, index, array) {

    console.log('he');

    console.log(fruit);

    console.log(fruit, index);

    console.log(fruit, index, array); // 가능하긴 하나, 거의 안 씀.    

});


// c-2. 화살표함수

fruits.forEach((fruit, index) => {

    console.log(fruit, index);

});


// c-3. 화살표함수 축약형

fruits.forEach((fruit, index) => console.log(fruit, index));

 

fruits.forEach((fruit) => console.log(fruit));

 

결과보기

 

16:51

4. Addition, Deletion, Copy

 

console.clear();


// 4. Addition, Deletion, Copy

 

// [뒤]

// push : add an item to the end

fruits.push('딸기', '복숭아');

console.log(fruits); // ['사과', '바나나', '딸기', ' 복숭아']


// pop : remove an item from the end and return it.

// const popped = fruits.pop(); 

fruits.pop(); // ['사과', '바나나', '딸기']

fruits.pop(); // ['사과', '바나나']

console.log(fruits);

 

// [앞]

// unshift : add an item to the beginning

fruits.unshift('딸기','레몬');

console.log(fruits); // ['딸기', '레몬', '사과', '바나나']


// shift : remove an item from the beginning

fruits.shift();

console.log(fruits);  // ['레몬', '사과', '바나나']

fruits.shift();

console.log(fruits);  // ['사과', '바나나']


// note!! shift, unshift are slower than pop, push

// ∵ 기존 아이템의 자리 이동 작업까지 발생


// [색인번호]

// splice : remove an item by index position

fruits.push('딸기', '복숭아', '레몬'); 

console.log(fruits); // ['사과', '바나나', '딸기', '복숭아', '레몬']

/*

fruits.splice(1); // index 1부터 그 뒤는 모두 제거. 

console.log(fruits); // ['사과']

*/

fruits.splice(1,1); // index 1부터 그 뒤는 모두 제거. 

console.log(fruits); // ['사과', '딸기', '복숭아', '레몬']


fruits.splice(1,1,'청사과', '수박'); // 딸기 제거하고, 청사과・수박 추가.

console.log(fruits); // ['사과', '청사과', '수박', '복숭아', '레몬']

 

/*

fruits.splice(1,0,'청사과', '수박'); // 딸기 그대로 두고, 청사과・수박 추가.

console.log(fruits); // ['사과', '딸기', '청사과', '수박', '복숭아', '레몬']

*/

 

// [결합]

// concat : combine two arrays

const fruits2 = ['망고', '코코넛'];

const newFruits = fruits.concat(fruits2);

console.log(newFruits); // ['사과', '청사과', '수박', '복숭아', '레몬', '망고', '코코넛']


결과보기

PS. 이모지도 문자이므로, 배열값으로 사용 시, 작은따옴표로 묶어줘야 함.

 

26:22

5. Searching

 

// 5. Searching


// indexOf : find the index (※ 만야, 아이템 중복 시, 첫 번째 것만 출력)

console.log(fruits); // ["사과", "청사과", "수박", "복숭아", "레몬"]

console.log(fruits.indexOf('사과')); // 0

console.log(fruits.indexOf('수박')); // 2

console.log(fruits.indexOf('코코넛')); // -1


// includes

console.log(fruits.includes('수박')); // true

console.log(fruits.includes('코코넛')); // false

결과보기

 

// lastIndexOf

console.clear();

fruits.push('사과');

console.log(fruits);

console.log(fruits.indexOf('사과')); // 0

console.log(fruits.lastIndexOf('사과')); // 5

 

결과보기



분류 제목
PHP-서기 PHP 51 - 웹사이트크롤링 (= 사이트파싱) ★★★ (= 타사이트 특정부위 가져오기)
JS-서기 JS 8강 - for문 안쪽에 if문 사용 (= 행렬 표만들기 = 줄바꿈 = 줄바꾸기 = 줄변경 = 라인변…
regex PHP 정규표현식 패턴 26강 - (?!패턴) (소괄호 안 물음표 느낌표) : 뒤에 패턴 존재하면 무시, 존…
PHP7-서기 PHP7 32강 - 외부 SMTP 이용해 이메일 보내기 (= 네이버/구글 SMTP 설정법)
JS-바위 JS 18강 - 스크롤트리거 (Scrolltrigger) - 스크롤 애니메이션 구현
PHP-쩡원 PHP 기초 10강 - 게시판 만들기 - 코멘트 (=댓글) , 답댓글 (= 대댓글) 입력, 출력, 입출력
regex PHP 정규표현식 패턴 15강 - 수량자 ─ { } (중괄호) - 문자 반복 횟수 특정
PHP-생코 PHP 25강 - 조건문 논리연산자 (and (&&) , or (||)) ★★★
PHP2020-서기 PHP2020 4강 - 카카오맵 (MySQL 이용해 마커 표시 / 클러스터링 사용)
JS-서기 JS 12강 - 이벤트핸들러2 (event handler) - onload, onunload, / confi…
regex PHP 정규표현식 패턴 17강 - 수량자 ─ *? (별표 물음표), +? (덧셈 물음표), ?? (물음…
JS-엘리 JS 6강 - 클래스・오브젝트 차이점(class vs object), 객체지향 언어 클래스 정리 | (Jav…
서버 서버 - URL RewriteRule (= 라라이트룰 = URL주소치환 = URL주소변경)
regex PHP 정규표현식 패턴 9강 - [^ ] (대괄호안 꺽쇠) ─ 후보문자 제외한 모든 1글자로 된 문자
PHP-쩡원 PHP 기초 8강 - 게시판 만들기 (조회수증가, 날짜형식변경, 파일업로드, 파일명중복방지)
regex PHP 정규표현식 패턴 21강 - \d (역슬래시 소문자d) : 숫자 , \D (역슬래시 대문자D) : …
regex PHP 정규표현식 패턴 6강 - \ . (역슬래시 마침표) ─ 단순 문자열로서의 마침표 기호
PHP-서기 php 10. 그외의 form관련 태그들 (input, textarea, select, option) ★★★…
PHP-쩡원 PHP 기초 3강 - 회원가입 만들기 (테이블생성, 필드생성, 입력폼생성 / 쿠키, 암호화) (member,…
regex PHP 정규표현식 패턴 22강 - \b (역슬래시 소문자b) : 워드(단어)의 경계
1/35
목록
찾아주셔서 감사합니다. Since 2012