JavaScript에 대한 파괴적인 방법
1574 단어 JavaScriptReact파괴적 방법tech
파괴적 방법
우선 파괴적인 방법은 대상의 원래 배열 값을 바꾸는 방법이다.
예를 들어 파괴적인 방법은 다음과 같은 방법이 적용된다.
•sort()
•splice()
•push()
•shift()
•unshift()
• reverse() 등
내가 실제로 파괴적인 방법으로 골머리를 앓는 예가 바로 이것이다.
숫자 그룹을numbers 함수의 매개 변수에 전달합니다.
console.log(numbers([1,4,3,9]))
다음은numbers의 함수입니다.const numbers = (arr) => {
const downToUp = arr.sort((a,b) => (a < b ? -1 : 1 ));
const upToDown = arr.sort((a,b) => (a < b ? 1 : -1));
return [...downToUp, ...upToDown]
}
여기서 나는 매개 변수로 건네준 진열 내의 수치를 말한다.sort() 방법은 두 번 사용하고 두 개의 승차순과 강차순의 배열을 생성한 후 하나의 배열로 결합할 계획이다.그러니까 되돌아오는 값은...[1,3,4,9,9,4,3,1]
이지만 실제 반환값은[ 9, 4, 3, 1, 9, 4, 3, 1]
.이곳은 파괴적인 방법의 주의점이다.처음sort() 방법을 사용할 때 원시 배열된 매개 변수arr의 배열 순서는 승차순이고 그 다음 두 번째입니다.sort () 방법을 사용할 때, 원래 배열된 매개 변수arr의 배열 순서는 내림차순으로 변하고, const downToUp도 오름차순이어야 하지만, 내림차순으로 변한다.
이 때 원수 그룹을 복사해야 합니다.
const numbers = (arr) => {
const copy = [...arr]
const downToUp = arr.sort((a,b) => (a < b ? -1 : 1 ));
const upToDown = copy.sort((a,b) => (a < b ? 1 : -1));
return [...downToUp, ...upToDown]
}
console.log(numbers([1,4,3,9])) //[1, 3, 4, 9, 9, 4, 3, 1]
문제는 전자 표를 사용하여 수조를 생성하는 복사를 통해 해결된다.이런 상황에서 문제는 해결됐지만 파괴적인 방법으로 원래의 배열을 바꾸는 것은 위험하다고 생각하기 때문에 파괴적인 방법을 자주 사용할 때는 복제된 배열을 생성하는 것이 좋다고 생각합니다.무슨 의견이 있으면 듣고 싶어요.
Reference
이 문제에 관하여(JavaScript에 대한 파괴적인 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/tk4/articles/4ccd85460bb3fff7fff8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)