-
Arrayjavascript 2023. 4. 13. 18:22반응형
* arr.splice(n, m) : 배열의 특정 요소를 지움, n번째부터 m개를 지움
let arr = [1, 2, 3, 4, 5]; arr.splice(1, 2); console.log(arr);//[1, 4, 5]
* arr.splice(n, m) : 배열의 특정 요소를 지우고 그 사이에 추가
let arr = [1, 2, 3, 4, 5]; arr.splice(1, 3, 100, 200); console.log(arr);//[1, 100, 200, 5] /*두번째 인수에 0을 넣으면 아무것도 지우지 않고 중간에 새로운 요소 추가 가능함*/ let arr = ["나는", "철수", "입니다"]; arr.splice(1, 0, "대한민국", "소방관"); console.log(arr);//["나는", "대한민국", "소방관", "철수", "입니다"]
* arr.splice() : 삭제된 요소 반환
let arr = [1, 2, 3, 4, 5]; let result = arr.splice(1, 2); console.log(arr);//[1, 4, 5] console.log(result);//[2, 3]
* arr.slice(n, m) : n부터 m까지 반환, m은 포함하지 않고 바로 앞자리까지 반환
let arr = [1, 2, 3, 4, 5]; arr.slice(1, 4);//[2, 3, 4] /*인수를 아무것도 넣지 않으면 배열을 복사함*/ let arr02 = arr.slice(); console.log(arr02);//[1, 2, 3, 4, 5]
* arr.concat(aar02, arr03, ..) : 인자로 주어진 배열이나 값들을 기존 배열에 합쳐서 새배열로 반환
let arr = [1, 2]; arr.concat([3, 4]);//[1, 2, 3, 4] arr.concat([3, 4], [5, 6]);//[1, 2, 3, 4, 5, 6] arr.concat([3, 4], 5, 6);//[1, 2, 3, 4, 5, 6]
* arr.forEach(fn:함수) : 배열 반복
- 함수를 인수로 받음
- 이 함수에는 3개의 매개변수가 있음(1. 해당요소, 2. 인덱스, 3. 해당 배열 자체를 의미함), 보통 첫번째와 두번째만 사용
let users = ['Mike', 'Tom', 'Jane']; users.forEach((item, index, arr) =>{ //.. }); /* 1. item : Mike, Tom, Jane 2. index : 0, 1, 2 3. arr : users */ //--------------------------------------------------------------------------------------------- let users = ['Mike', 'Tom', 'Jane']; arr.forEach((naem, index) => { console.log(name);//Mike Tom Jane console.log(`${index}+1. ${name}`);//1. Mike 2. Tom 3. Jane });
* arr.indexOf() / arr.lastIndexOf() : 발견하면 해당 인덱스를 반환하고 없으면 -1을 반환함
let arr = [1, 2, 3, 4, 5, 1, 2, 3]; arr.indexOf(3);//2 /*인수가 두개인 경우 두번째 인수는 시작 위치를 의미함*/ arr.indexOf(3, 3);//7 /*끝에서부터 탐색하고 싶을때*/ arr.lastIndexOf(3);//7
* arr.includes() : 배열내에 인수를 포함하는지 확인
let arr = [1, 2, 3]; arr.includes(2);//true arr.includes(8);//false
* arr.find(fn) / arr.findIndex(fn) : 조건에 만족하는것 하나만 반환함, 첫번째 true 값만 반환하고 끝, 만약 없으면 undefined를 반환, findIndex는 해당 인덱스를 반환함
/*짝수 반환*/ let arr = [1, 2, 3, 4, 5]; const result = arr.find((item) => { return item % 2 ===0; }); console.log(result);//2 /*미성년자 찾기*/ let userList = [ {name : "Mike", age : 30}, {name : "Jane", age : 27}, {name : "Tom", age : 10}, ]; //find userList.find((user) => { if(user.age < 19){ return true; } return false; }); console.log(result);//{name : "Tom", age : 10} //findIndex userList.findIndex((user) => { if(user.age < 19){ return true; } return false; }); console.log(result);//2
* arr.filter(fn) : 조건에 만족하는 모든 요소를 배열로 반환
/*짝수 반환*/ let arr = [1, 2, 3, 4, 5]; const result = arr.filter((item) => { return item % 2 ===0; }); console.log(result);//[2, 4, 6]
* arr.reverse() : 역순으로 재정렬
let arr = [1, 2, 3, 4, 5]; arr.reverse();//[5, 4, 3, 2, 1]
* arr.map(fn) : 함수를 받아 특정 기능을 시행하고 새로운 배열을 반환
let userList = [ {name : "Mike", age : 30}, {name : "Jane", age : 27}, {name : "Tom", age : 10}, ]; /*매번 나이를 확인할 수 없어 isAdult라는 프로퍼티를 추가*/ let newUserList = userList.map(function(user, index){ return Object.assign({}, user, { id : index + 1, isAdult : user.age > 19, }); }); console.log(newUserList); /* [ {name : "Mike", age : 30, id : 1, isAdult : true}, {name : "Jane", age : 27, id : 2, isAdult : true}, {name : "Tom", age : 10, id : 3, isAdult : false}, ] */ console.log(userList); /* [ {name : "Mike", age : 30}, {name : "Jane", age : 27}, {name : "Tom", age : 10}, ] */
* arr.join() : 배열을 합쳐서 문자열을 만듬 / arr.split() : 문자열을 나눠서 배열로 만듬
/*join : 배열을 합쳐서 문자열로 만듬*/ let arr = ["안녕", "나는", "철수야"]; /*인수가 없으면 ,로 구분됨*/ let result = arr.join(); console.log(result);//안녕,나는,철수야 /*인수가 있으면*/ let result = arr.join("-"); console.log(result);//안녕-나는-철수야 //--------------------------------------------------------------------------------------------- /*split : 문자열을 나워서 배열로 만듬*/ const users = "Mike, Jane, Tom"; const result = user.split(","); console.log(result);//["Mike, Jane, Tom"] /*빈문자열 기준으로 하나씩 자르기*/ let str = "Hello, "; const result = str.split(""); console.log(result);["H", "e", "l", "l", "o", ",", " ",]
* Array, isArray() : 배열인지 아닌지 확인하는 방법
- 자바스크립트에서 배열은 객체형에 속하기 떄문에 typeof는 객체라고 알려줘서 일반 객체와 구분할 수가 없음
let user = { name : "Mike", age : 30, };//user은 객체 let userList = ["Mike", "Tom", "Jane"];//userList는 배열 console.log(typeof user);//object console.log(typeof userList);//object console.log(Array.isArray(user));//false console.log(Array.isArray(userList));//true
반응형'javascript' 카테고리의 다른 글
String 문자형 (0) 2023.04.13 Number, Math (0) 2023.04.12 심볼 Symbol (0) 2023.04.09 객체Objcet에서 사용 가능한 methods와 Computed property (0) 2023.04.08 생성자 함수 (0) 2023.04.08