[JS] 배열 메소드

codeCYJ·2022년 7월 13일
0

javaScript

목록 보기
28/35

Array.indexOf

원본 배열에서 인수로 전달된 요소를 검색해서 인덱스를 반환한다.
(중복요소가 여러개라면 첫번째로 검석된 요소의 인덱스를, 존재하지않으면 -1을 반환)

const arr= [1,2,2,3];
arr.indexOf(2) // 1
arr.indexOf(4) // -1
//두번째 인수는 검색을 시작할 인덱스이다. 두번째 인수를 생략하면 처음부터 검색한다.
arr.indexOf(2,2) // 2  

const foods=['apple','banana','orange'];
if(foods.indexOf('orange) === -1){
	foods.push('orange');
   }

Array.push

인수로 전달받은 모든 값을 원본 배열의 마지막요소로 추가하고 변경된 length프로퍼티 값을 반환한다. (원본배열변경)

const arr = [1,2];
let result = arr.push(3,4);
console.log(result) // 4
console.log(arr) // [1,2,3,4]

Array.pop

원본배열에서 마지막요소를 제거하고 제거한 요소를 반환한다.(원본배열변경)

const arr = [1,2];
let result = arr.pop();
console.log(result)  //2
console.log(arr) // [1]

Array.unshift

인수로 전달받은 모든 값을 원본 배열의 선두에 요소로 추가하고 변경된 length프로퍼티를 반환한다.(원본배열변경)

const arr = [1,2];
let result=arr.unshift(3,4);
console.log(result) //4
console.log(arr) // [3,4,1,2];

Array.shift

원본배열에서 첫번째 요소를 제거하고 제거한 요소를 반환.(원본배열변경)

const arr = [1,2];
let result = arr.shift();
console.log(result);  //1
console.log(arr);  // [2]

Array.concat

인수로 전달된 모든 값들을 원본배열의 마지막요소로 추가하고 새로운 배열을 반환.
(원본배열변경X)

const arr1=[1,2];
const arr2=[3,4];
let result = arr1.concat(arr2);
console.log(result) // [1,2,3,4]

result = arr1.concat(3);
console.log(result) // [1,2,3]

result = arr1.concat(arr2,5);
console.log(result) // [1,2,3,4,5]

console.log(arr1) // [1,2]

Array.splice

원본배열의 중간에 요소를 추가하거나 제거하는 경우 사용. (원본배열변경)

const arr = [1,2,3,4];
// 원본배열의 인덱스 1부터 2개의 요소를 제거하고 새로운 20,30을 삽입한다.
const result = arr.splice(1,2,20,30); 
console.log(result) // [2,3]
console.log(arr) // [1,20,30,4];

const arr = [1,2,3,4];
// 1부터 0개제거, 새로운 100 삽입.
const result = arr.splice(1,0,100); 
console.log(arr) // [1,100,2,3,4]
console.log(result) // [];

const arr = [1,2,3,4];
//인덱스 1부터 모든 요소 제거
const result = arr.splice(1);
console.log(arr) // [1]
console.log(result) // [2,3,4]

Array.slice

인수로 전달된 범위의 요소들을 복사하여 배열로 반환(원본배열변경X)
start = 복사를 시작할 인덱스, 음수인경우 뒤에서부터 시작
end = 복사 종료 인덱스, 생략시 기본값은 lenght 프로퍼티값

const arr = [1,2,3];
arr.slice(0,1);  // [1]
arr.slice(1,2);  // [2]
console.log(arr) // [1,2,3]
arr.slice(1); // [2,3]
arr.slice(-1); // [3]
arr.slice();  // [1,2,3]  => 인수가없으면 전체복사

Array.join

원본배열의 모든 요소를 문자열로 변환 후 인수로 받은 문자열을 반환.
기분 구분자는 ',' 콤마이다.

const arr = [1,2,3,4];
arr.join(); // '1,2,3,4'
arr.join(""); // '1234'
arr.join(":"); // '1:2:3:4'

Array.reverse

원본 배열의 순서를 반대로 뒤집는다 (원본배열변경)

const arr= [1,2,3];
const result = arr.reverse();

console.log(arr) // [3,2,1];
console.log(result) // [3,2,1];

Array.fill

인수로 받은 값을 배열의 처음부터 끝까지 채운다. (원본배열변경)

const arr = [1,2,3];
arr.fill(0);
console.log(arr) // [0,0,0]

const arr = [1,2,3,4,5];
arr.fill(0,1,3); // 0을 인덱스 1부터 3까지 채운다.
console.log(arr) // [1,0,0,4,5];

Array.includes

배열내에 특정요소가 포함되어있는지 확인하여 true, false반환 (원본배열변경x)

const arr = [1,2,3];
arr.includes(2); // true
arr.includes(5); // false
arr.includes(1,1); // false (인덱스 1부터 1을검색)
arr.includes(3,-1); // true (요소3을 arr.lenght-1부터 검색)

Array.flat

인수로 전달한 깊이만큼 재귀적으로 배열을 평탄화한다.

[1,[2,3,4,5]].flat(); // [1,2,3,4,5]
[1,[2,[3,[4]]]].flat(); // [1,2,[3,[4]]]];
[1,[2,[3,[4]]]].flat(1); // [1,2,[3,[4]]];
[1,[2,[3,[4]]]].flat(2); // [1,2,3,[4]];
[1,[2,[3,[4]]]].flat(3); // [1,2,3,4];
[1,[2,[3,[4]]]].flat(Infinity); // [1,2,3,4]; 
// Infinity = 중첩배열 모두 평탄화하기


profile
안녕하세요

0개의 댓글