concat 메서드는 원하는 값을 원본 배열 끝에 추가한 뒤 새로운 배열을 만든다.
원하는 값이 배열인 경우, 배열을 해체하여 요소들을 추가한다.
원본 배열은 바뀌지 않는다.
let result = [1,2].concat([3,4],[5,6]);
console.log(result); // [1,2,3,4,5,6]
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는 프로그래밍 언어이다.
splice 메서드는 원하는 위치의 요소를 제거하거나 추가할 수 있다.
deleteCount는 제거할 요소의 개수다. deleteCount가 0이면 아무것도 제거하지 않는다.
items는 제거한 위치에 추가할 요소다.
원본 배열을 바꾸기 때문에 주의해야 한다.
댓글 삭제에 쓰인다.
let legends = ['조던','르브론','피펜','커리'];
legends.splice(2,2,'매직 존슨');
console.log(legends); // [ '조던', '르브론', '매직 존슨' ]
filter 메서드는 자신이 호출한 배열의 모든 요소들을 찾으면서 인수로 전달받은 콜백 함수를 반복 호출한다.
콜백 함수가 true인 요소로만 구성해 새로운 배열을 반환한다.
filter 메서드는 조건을 만족하는 요소들을 추출하여 새로운 배열을 만들 때 사용한다.
원본 배열은 바뀌지 않는다.
let id = ['a1350','b3242','c4931','d4323'];
let newID = id.filter(value => value.includes('1'));
console.log(newID); // [ 'a1350', 'c4931' ]