JS 배열 조작 단점
5264 단어 javascriptbeginners
1 슬라이스()와 splice()의 차이점
.slice()
는 배열 항목을 새 배열로 추출합니다[0, n-1]
..splice()
는 [0, n]
위치에서 항목을 삭제하고 초기 배열 대신 반환하여 원래 배열을 변경합니다. 또한 항목을 추가하기 위한 세 번째 매개변수도 제공합니다.이는 함수형 프로그래밍 관점에서 more thoroughly here 및 here 설명됩니다.
2 단순히 문자열을 반복할 수는 없습니다.
빈 문자열로
.split('')
를 적용하거나 [...]
(확산 연산자)를 적용하면 불연속 문자 배열이 반환됩니다.예외: for 루프에서
charAt()
사용Ryan Lynch (he/him)
•
좋은 점! for 루프를 사용하여 문자열을 직접 반복하여 각 인덱스의 문자에 액세스할 수 있습니다!
function forEachChar(str, cb) {
for (let i = 0; i < str.length; i++) {
cb(str.charAt(i))
}
}
3 스프레드 연산자는 얕은 복사본을 생성합니다.
복사할 어레이의 깊이가 한 수준 이상인 경우
[...spread]
. 얕은 복사본에서 중첩 배열(또는 개체)은 원본 복사본에 대한 참조를 유지합니다. 모든 변경 사항은 초기 및 후속 복사에 영향을 미칩니다.얕은 복사 및 깊은 복사는 Laurie Barth에서 자세히 설명합니다.
4 for (i of ...) vs for (i in ...)
전자는 배열, 문자열, DOM 노드 컬렉션, 맵, 세트 및 생성기에 대한 반복을 가능하게 합니다. 후자는 키와 같은 개체 속성을 반복합니다. for...of vs for...in
5 .join() 대 .push() 대 .concat()
.push()는 배열을 변경하고 길이 끝에 항목을 추가합니다.
.concat()은 배열을 병합하고 .join()보다 빠르게 실행됩니다.
6 내가 좋아하는 것 중 일부는 문제가 있습니다. 배열을 변경합니다.
즉
shift()
, unshift()
, splice()
, pop()
, push()
reduce()
filter()
, map()
, some()
및 concat()
와 같이 상태를 변경하지 않는 대안을 찾는 것이 이제 취미가 되었습니다.7 find() 대 필터()
find()
컬렉션에서 일치하는 첫 번째 값을 반환하고 for 루프에 넣지 않는 한 중지합니다. filter()
는 일치하는 값의 배열을 반환합니다.8 forEach는 무효 함수입니다.
MDN 문서를 읽었을 때 명확하지 않았고 블로그에서 원래 배열을 변경한다는 두 가지 주장이 있는 것 같았습니다. 그것은 아무것도 반환하지 않으며 DEV 커뮤니티의 도움으로 ❤️ 나는 그것을 발견할 수 있었습니다!
관련 읽기
JavaScript에서 배열 조작 🧐
토마사우도 ・ 2019년 2월 12일 ・ 2분 읽기
#javascript
#webdev
#productivity
배열 메서드 및 이터러블 - JavaScript 게임 강화
Michael Z ・ 2019년 3월 20일 ・ 읽기 8분
#javascript
#node
#arrays
#ecmascript
이 목록에 추가하고 싶은 다른 사람이 있습니까? 알려줘요!
Reference
이 문제에 관하여(JS 배열 조작 단점), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jenc/js-array-manipulation-quirks-3860텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)