[알고리즘] - 배열

Yongwoo Cho·2021년 10월 6일
0

알고리즘

목록 보기
25/104
post-custom-banner

pop

배열 마지막값을 삭제

var arr = [ 1, 2, 3, 4 ];
arr.pop();
console.log( arr ); // [ 1, 2, 3 ]

push

배열 마지막에 값 삽입

var arr = [ 1, 2, 3, 4 ];
arr.push( 5 );
console.log( arr ); // [ 1, 2, 3, 4, 5 ]

unshift

배열 처음(인덱스0)에 값 삽입

var arr = [ 1, 2, 3, 4 ];
arr.unshift( 0 );
console.log( arr ); // [ 0, 1, 2, 3, 4 ]

splice

배열의 특정위치에 요소를 추가하거나 삭제
splice( 시작 index, 제거할 요소 개수, 배열에 추가될 요소 )

var arr = [ 1, 2, 3, 4, 5, 6, 7 ];
arr.splice( 3, 2 ); // 3번째 인덱스에서부터 2개 제거
console.log( arr ); // [ 1, 2, 3, 6, 7 ]   

var arr = [ 1, 2, 3, 4, 5, 6, 7 ];
arr.splice( 2, 1, "a", "b"); // 2번째 인덱스에서 1개 제거 후 "a"와 "b"를 추가
console.log( arr ); // [ 1, 2, "a", "b", 4, 5, 6, 7 ] 

slice( startIndex, endIndex)

배열의 startIndex부터 endIndex까지(endIndex는 포함❌)에 대한 shallow copy를 새로운 배열 객체로 반환

var arr = [1, 2, 3, 4, 5, 6, 7];
var newArr = arr.slice(3, 6); // index 3부터 5까지
var newArr2 = arr.slice(1); // index 1부터 끝까지
console.log(newArr); // [ 4, 5, 6 ]
console.log(newArr2); // [2, 3, 4, 5, 6, 7]

concat

다수의 배열을 합치고 병합된 배열의 사본을 반환

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

every

배열의 모든 요소가 제공한 함수로 구현된 테스트를 통과하는지를 테스트

var arr =[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
var isEven = function( value ) {
  return value % 2 === 0;
};
console.log( arr.every( isEven ) ); // false  
// 하나라도 홀수가 존재하면 false 반환

some

지정된 함수의 결과가 true일 때까지 배열의 각 원소를 반복

var arr =[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
var isEven = function( value ) {

  return value % 2 === 0;
};
console.log( arr.some( isEven ) ); // true  
// 하나라도 2의 배수이면 true 반환

forEach

배열의 각 원소별로 지정된 함수를 실행한다.

var arr =[ 1, 2, 3 ];
arr.forEach( function( value ) {
  console.log( value );   // 1 2 3
});

map

배열의 각 원소별로 지정된 함수를 실행한 결과로 구성된 새로운 배열을 반환한다.

var arr =[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
var isEven = function( value ) {
  return value % 2 === 0;
};
var newArr = arr.map( isEven );
console.log( newArr ); 
// [ false, true, false, true, false, true, false, true, false, true ]

filter

지정된 함수의 결과 값을 true로 만드는 원소들로만 구성된 별도의 배열을 반환한다.

var arr =[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
 var newArr = arr.filter((value) => {
   // 소수판별
    if (value === 2) return true;
    for (let i = 2; i < value; i++) {
      if (value % i === 0) {
        return false;
      }
    }
    return true;
  });
  console.log(newArr); // [ 1, 2, 3, 5, 7 ]

reduce

누산기(accumulator) 및 배열의 각 값(좌에서 우로)에 대해 (누산된) 한 값으로 줄도록 함수를 적용

var arr =[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
var value = arr.reduce( function( previousValue, currentValue, index ) {
  return previousValue + currentValue;
});
console.log( value ); // 55

reverse

배열의 원소 순서를 거꾸로 바꾼다.

var arr =[ 1, 2, 3, 4 ];
arr.reverse();
console.log( arr ); // [ 4, 3, 2, 1 ]

sort

배열의 원소를 알파벳순으로, 또는 지정된 함수에 따른 순서로 정렬한다. 모든 원소를 문자열로 취급해 사전적으로 정렬

// sort로 오름차순 정렬
var arr = [ 13, 12, 11, 10, 5, 3, 2, 1 ];
arr.sort( function(a, b){
   return a - b; 
}); 
console.log( arr ); // [ 1, 2, 3, 5, 10, 11, 12, 13 ];

// sort로 내림차순 정렬
var arr = [ 5, 9, 4, 7, 1 ];
arr.sort( function(a, b {
  return b - a;
})
console.log( arr ); // [ 9, 7, 5, 4, 1 ]

toString

배열을 문자열로 바꾸어 반환한다

var arr =[ 1, 2, 3, 4 ];
console.log( arr.toString() ); // 1, 2, 3, 4

valueOf

toString과 비슷, 그러나 배열을 반환

var arr =[ 1, 2, 3, 4 ];
console.log( arr.valueOf() ); // [ 1, 2, 3, 4 ]

join

배열을 문자열로 바꾸어 반환한다

var arr =[ 1, 2, 3, 4 ];
console.log( arr.join() );      // 1,2,3,4
console.log( arr.join( '-' ) ); // 1-2-3-4
profile
Frontend 개발자입니다 😎
post-custom-banner

0개의 댓글