안녕하세요 js에서 사용하는 Array 에 대한 메서드에 대해 간단 설명 및 예시로 작성 하려고 합니다.
오늘은 [1] 입니다. 빨간 색 부분은 IE 미지원의 경우 입니다.
** 빨간메서드 부분은 Polyfill이 도입되어야 합니다.
각 함수마다 서포팅 되는 호환성 에 특이 한점은 적도록 하겠습니다.
[1] 에서 작성할 배열 메서드 입니다.
concat(IE 5.5) ,fill, filter(IE 9), find, findIndex, includes, indexOf(IE 9)
[2] 에서 작성할 배열 메서드 입니다.
join, keys, lastIndexOf, pop, push, shift, unshift,
[3] 에서 작성할 배열 메서드 입니다.
some, every, slice, splice, sort, toLocaleString, toSource, values
[4] 에서 작성할 배열 메서드 입니다.
reduce, reduceRight, reverse, copyWithin, Array.of , Array.from
** 모든 설명은 mdn 을 참조하였습니다.
1. concat
호환성 : IE 5.5 이상 동작합니다. (전 브라우저 지원이라고 봐도 될거같습니다.)
description : 인자로 주어지는 배열이나 값들을 기존 배열에 합쳐서 새 배열을 반환합니다.
깍돌이 설명: 배열1.concat(배열2) 와 같이 쓰면 [ 배열1 + 배열 2 ] 가 된 새 배열3 이 나옵니다.
** 메서드를 호출하게 된 배열 뒤에 인수로 넘어온 배열들을 붙여서 새로운! 배열을 생성합니다.
this나 인수로 넘겨진 배열의 내용을 바꾸지 않고 주어진 배열들을 합친뒤 얕은 복사(shallow copy)
를 리턴 합니다.
Example 1 fruits 배열과 animal 배열의 합치기 (2개)
Example 2 fruits 배열과 animal 배열과 language 배열의 합치기 (3개)
Example 3 fruits 배열에 단일 값 "NinJa" 와 ["QA","devOps"] 를 이어 붙이기
(배열에 값 붙이기)
Example Code
번외편 !
배열을 단순하게 + 로 더하면 어떻게 될까 ?
문자열이 됩니다.! ( 하지만 자세히 보면 watermelondog 로 붙어있는 부분이 있습니다. )
[... 끝]+[처음...]이 붙는 부분에서 "끝처음" 로 붙네요 쓸순 없습니다. ㅎ_ㅎ
2. fill
호환성 : IE,Opera는 아예 지원되지 않습니다. (Chrome 36이상 FireFox 31이상 Safari 7.1이상)
폴리필을 사용 하여야 합니다. // 폴리필 주소
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/fill
description : 배열의 시작인덱스부터 끝 인덱스까지 정적 값으로 배열 요소들을 채웁니다.
깍돌이 설명: 배열을 정해진 특정 값으로 채워넣기 위해 사용하는 함수입니다. (react에서 자주 사용합니다.)
** 해당 메서드를 사용한 배열의 원본 값이 변합니다. 주의 !!
Example 1 fruits 배열을 4로 채우기
3. filter
앗.. filter부터 안써놓은지 몰랐습니다. ㅜㅜ 새롭게 다시 작성해서 채우도록;; 하겠습니다.'
호환성 : IE 브라우저 9 이상 지원합니다.
description : 조건에 맞는 함수를 통과하는 요소를 모아 새로운 배열로 반환 합니다.
깍돌이 설명: 특정 조건에 맞는 배열을 새롭게 반환시켜주는 함수라고 보시면 될 것 같습니다.
4. find
호환성 : IE미지원
description :
깍돌이 설명: IE를 미지원하기 때문에 폴리필 코드가 필요합니다.
**
Example 1
5. findIndex
호환성 :
description :
깍돌이 설명:
**
Example 1
6. includes
호환성 :
description :
깍돌이 설명:
**
Example 1
7. indexOf
호환성 :
description :
깍돌이 설명:
**
Example 1
'개발일지(Language) > JS(JavaScript)' 카테고리의 다른 글
[JavaScript] 객체 의 참조 (0) | 2018.08.17 |
---|---|
[JavaScript] map,forEach 자바스크립트 (0) | 2018.08.17 |
[JavaScript] 호이스팅(hoisting) (0) | 2018.07.09 |
[JavaScript] 함수의 유효범위 (Effective range of "Function") (0) | 2018.07.09 |
[JavaScript] map 필요없다 reduce!!! (0) | 2018.06.26 |