Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Array 내장함수
- plugin
- json-server 사용하기
- 카카오 Maps
- select플러그인
- book_club
- vue 카카오 Maps API
- 카카오 Maps API
- 변수선언방법
- node.js 로그관리
- niceselect사용법
- jqueryplugin
- 노마드코더
- json-server 서버설치
- 모바일 사용자를 위해 올바른 HTML input type
- node메일보내기
- node.js이메일보내기
- 이미지에 링크여러개걸기
- 텍스트입력 라이브러리
- 이미지에 링크여러개
- 이미지에 다중링크걸기
- vue Maps API
- iCalendar
- 텍스트서식태그
- book-club-it-dictionary
- js Array 내장함수
- 노개북
- 개발자북클럽
- 자바스크립트 변수 차이점
- 의미있는태그
Archives
- Today
- Total
ㅇㅅㅇ
[JS, JAVASCRIPT] Array 내장함수 본문
배열(Array)에 사용할 수 있는 내장함수
- toString() : 배열을 하나의 문자열로 바꿔주는 함수
let brands = ["애플", "구글", "아마존", "마이크로소프트", "메타"]; console.log(brands.toString()); // 애플, 구글, 아마존, 마이크로소프트, 메타
- join() : 피라미터로 전달된 문자가 요소 사이사이마다 삽입되어 하나의 문자로 결합 해주는 함수
let brands = ["애플", "구글", "아마존", "마이크로소프트", "메타"]; console.log(brands.join(" * ")); // 애플 * 구글 * 아마존 * 마이크로소프트 * 메타 console.log(brands.join(" ")); // 애플 구글 아마존 마이크로소프트 메타
- pop() : 배열에서 마지막 요소를 제거하고, 그 마지막 요소를 반환하는 함수
let brands = ["애플", "구글", "아마존", "마이크로소프트", "메타"]; brands.pop(); console.log(brands);// (4) ['애플', '구글', '아마존', '마이크로소프트']
- push() : 배열의 끝에 새로운 요소를 추가하는 함수
let brands = ["애플", "구글", "아마존", "마이크로소프트", "메타"]; brands.push("테슬라"); console.log(brands); // (6) ['애플', '구글', '아마존', '마이크로소프트', '메타', '테슬라']
- shift() : 배열의 첫번째 요소를 제거하면서 그 요소를 반환하는 함수
서버 프로그램 작업시 많이 사용 : 이벤트 큐에 차례대로 등록시 작업 목록에서 들어온 순서대로 하나씩 빼면서 작업 처리let brands = ["애플", "구글", "아마존", "마이크로소프트", "메타"]; let shifted = brands.shift(); console.log(brands); // (4) ['구글', '아마존', '마이크로소프트', '메타'] console.log(shifted); // 애플
- unshift() : 배열의 제일 앞에 요소를 추가하고, 배열의 길이 반환하는 함수
let brands = ["애플", "구글", "아마존", "마이크로소프트", "메타"]; console.log(brands.unshift("삼성전자")); console.log(brands); // (6) ['삼성전자', '애플', '구글', '아마존', '마이크로소프트', '메타'];
- splice() : 배열의 특정 위치에 새로운 요소를 추가하는 함수, 추가시 기존 요소를 삭제하면서 추가 가능하다.
- 첫번째 피라미터 : 새로운 요소를 추가할 인텍스 번호(변경을 시작할 인덱스)
- 두번째 피라미터 : 요소를 추가하기 전, 삭제할 요소 수
- 나머지 피라미터 : 추가할 요소, 지정하지 않으면 제거만 됨
let brands = ["애플", "구글", "아마존", "마이크로소프트", "메타"]; // 요소만 추가했을 경우 : 애플 뒤에 LG, DELL 추가 brands.splice(1, 0, "LG", "DELL"); console.log(brands); // (7) ['애플', 'LG', 'DELL', '구글', '아마존', '마이크로소프트', '메타'] // 추가할 요소를 입력하지 않았을 경우 : 추가했던 LG, DELL 삭제 brands.splice(1, 2); console.log(brands); // (5) ['애플', '구글', '아마존', '마이크로소프트', '메타'] // 요소삭제 및 추가했을 경우 : 아마존 뒤에 마이크로소프트 삭제 및 LG, DELL 추가 brands.splice(3, 1, "LG", "DELL"); console.log(brands); // (6) ['애플', '구글', '아마존', 'LG', 'DELL', '메타']
- concat() : 2개 이상의 배열을 하나의 배열로 결합하는 함수
let brand1 = ["애플", "구글"]; let brand2 = ["아마존", "마이크로소프트", "메타"]; let brand3 = ["삼성전자", "LG"]; let brands = brand1.concat(brand2, brand3); console.log(brands); // (7) ['애플', '구글', '아마존', '마이크로소프트', '메타', '삼성전자', 'LG']
- slice(index, 가져올 요소 수) : 배열의 요소를 잘라내서 배열 형태로 반환
let brands = ["애플", "구글", "아마존", "마이크로소프트", "메타"]; console.log(brands.toString()); // 애플, 구글, 아마존, 마이크로소프트, 메타
- sort() : 배열의 요소를 정렬해주는 함수(문자열 가나다순)
// 문자열 가나다 let brands = ["애플", "구글", "아마존", "마이크로소프트", "메타", "삼성전자", "엘지"]; console.log(brands.sort()); // (7) ['구글', '마이크로소프트', '메타', '삼성전자', '아마존', '애플', '엘지']
숫자 정렬에 사용할 경우 : 숫자 데이터가 문자로 변환된 후 가나다 순으로 정렬된다.
때문에 비교 함수를 전달하여 숫자의 크기에 따라 정렬될 수 있도록 해야한다.let points = [40, 100, 1, 5, 25, 10]; console.log(points.sort()); // (6)[1, 10, 100, 2, 40, 5]
- 숫자 오름차순
매개 변수 a와 b를 전달한뒤 배열 내의 임의의 요소 a, b를 비교할때 반환되는 값이 0보다 크면 a가 b보다 앞에 오고 0보다 작으면 b가 a보다 앞으로 오게된다. 그리고 반환되는 값이 0이면 순위 변경을 하지 않는다.let points = [40, 100, 1, 5, 25, 10]; const ascPoints = points.sort(function (a, b) { return a - b; }); console.log(ascPoints);// (6)[1, 5, 10, 25, 40, 100]
- 숫자 내림차순
비교 함수에서 b - a의 값을 리턴하면 된다.let points = [40, 100, 1, 5, 25, 10]; const descPoints = points.sort(function (a, b) { return b - a; }); console.log(descPoints); // (6)[100, 40, 25, 10, 5, 1,]
- 숫자 오름차순
- filter() : 배열에서 특정 조건에 맞는 요소만 찾아서 새로운 배열로 반환하는 함수
// 예시 : 음료 중 1000원 이하인 음료만 표시하기 let drinkList = [ { name: "오렌지", price: 1000, }, { name: "파워레이드", price: 1400, }, { name: "커피", price: 700, }, { name: "보리음료", price: 1200, }, { name: "코카콜라", price: 1000, }, ]; let availableProduct = []; const inputCoin = 1000; // for문을 사용해서 찾을 경우 for (const drink of drinkList) { if (drink.price <= inputCoin) { availableProduct.push(drink); } } // filter을 사용하면 for문보다 간결하게 찾을 수 있다. availableProduct = drinkList.filter(function (drink) { return drink.price <= inputCoin; }); console.log(availableProduct);
- map() : 배열이 가지고 있는 요소가 오브젝트인 경우, 오브젝트가 가지고 있는 key-value쌍을, 새로운 오브젝트 형태로 변경해서 새로운 배열을 반환하는 함수
// 유저의 이름의 성과 이름을 합하여 재배열하기 let userList = [ { firstName: "재석", lastName: "유", email: "ryu@gmail.com", }, { firstName: "종국", lastName: "김", email: "kim@gmail.com", }, { firstName: "지효", lastName: "송", email: "song@gmail.com", }, ]; let newUserList = userList.map(function (user) { return { fullName: user.lastName + user.firstName, email: user.email, }; }); console.log(newUserList);
- reduce() : 배열안의 전체 요소들을 더한 값을 구하고자 할 때 사용하는 함수, 보통 첫번째, 두번째 피라미터까지 사용
- 첫번째 accumulator : 누적 값
- 두번째 currentValue : 현재 배열 요소
- 세번째 currentIndex : 현재 배열 인덱스 번호
- 네번째 arr : 전체 배열
// 총 포인트 계산하기 let points = [40, 100, 1, 5, 25, 10]; // reduce를 사용할 경우 let sum2 = points.reduce(function (accumulator, currentValue) { return accumulator + currentValue; }, 0); // 처음 accumulator값 0에 배열 요소를 순서대로 계산 // 0 + 40 = 40 // 40 + 100 = 140 // 140 + 1 = 141 // 141 + 5 = 146 // 146 + 25 = 171 // 171 + 10 = 181 console.log(sum2); // 181 // for ...of 사용할 경우, let sum1 = 0; for (const point of points) { sum1 = sum1 + point; } console.log(sum1); // 181
이 외에도 여러 내장 함수들이 있던데 필요할 때 찾아서 정리해두면 좋을 것 같다.
참고자료
개발자의 부트캠프 강의 내용
'프로그래밍 > JAVASCRIPT' 카테고리의 다른 글
json-server 설치 및 데이터 호출해보기 (0) | 2022.08.14 |
---|---|
[JS, JAVASCRIPT] 변수와 변수 선언 방법(var, let, const) (0) | 2022.07.31 |
[JS, JAVASCRIPT] 키보드 타이핑 효과를 주는 자바스크립트 라이브러리 TypeIt (0) | 2022.06.30 |
[JS, JAVASCRIPT] 스크롤을 부드럽게 이동시키기(scroll behavior: smooth) (0) | 2022.06.07 |
[JS, JAVASCRIPT] 모바일기기로 접속했을 경우, 모바일 페이지로 이동하기 (0) | 2020.08.10 |
Comments