concat, slice, splice, filter 메서드

황희윤·2021년 11월 14일
0

Array.concat(valueN)

  • concat 메서드는 원하는 값을 원본 배열 추가한 뒤 새로운 배열을 만든다.

  • 원하는 값이 배열인 경우, 배열을 해체하여 요소들을 추가한다.

  • 원본 배열은 바뀌지 않는다.

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

Array.slice(start, end)

  • slice 메서드는 원하는 범위의 요소들을 복사하여 배열로 반환한다.

  • end 인덱스의 요소는 포함하지 않는다.

  • 원본 배열은 바뀌지 않는다.

  • slice 메서드의 인수를 모두 생략하면 원본 배열의 복사본을 만들어 반환한다.

  • slice는 배열뿐만 아니라 문자열에도 사용 가능하다.

  • 댓글에 욕설이 포함되면 달지 못하도록 차단할 때 사용할 수 있다.

  • 차단할 단어 모음이 있으면, 사용자가 댓글을 달 때, 차단할 단어 모음 중에 하나라도 매치 되면 댓글을 달지 못하도록 막을 수 있다.

let arr = [1,2,3,4,5];
console.log(arr.slice(1,4)) // [2,3,4]
  • 아래의 예시는 오타를 정정해주는 코드다.
let info = "JavaScript는 프로래밍 언어이다.";
let firstChar = info.indexOf("프로래밍"); 

console.log(info, firstChar);

if (firstChar !== -1) { 
  info = info.slice(0, firstChar) + "프로그래밍" + info.slice(firstChar+4, info.length);
}

console.log(info); // JavaScript는 프로그래밍 언어이다.

Array.splice(start,deleteCount,items)

  • splice 메서드는 원하는 위치의 요소를 제거하거나 추가할 수 있다.

  • deleteCount는 제거할 요소의 개수다. deleteCount가 0이면 아무것도 제거하지 않는다.

  • items는 제거한 위치에 추가할 요소다.

  • 원본 배열을 바꾸기 때문에 주의해야 한다.

  • 댓글 삭제에 쓰인다.

let legends = ['조던','르브론','피펜','커리'];
legends.splice(2,2,'매직 존슨');
console.log(legends); // [ '조던', '르브론', '매직 존슨' ]

Array.filter(callback(element, index, array))

  • filter 메서드는 자신이 호출한 배열의 모든 요소들을 찾으면서 인수로 전달받은 콜백 함수를 반복 호출한다.

  • 콜백 함수가 true인 요소로만 구성해 새로운 배열을 반환한다.

  • filter 메서드는 조건을 만족하는 요소들을 추출하여 새로운 배열을 만들 때 사용한다.

  • 원본 배열은 바뀌지 않는다.

let id = ['a1350','b3242','c4931','d4323'];
let newID = id.filter(value => value.includes('1'));
console.log(newID); // [ 'a1350', 'c4931' ]
profile
HeeYun's programming study

0개의 댓글