Javascript에서 배열 주문
12308 단어 interviewjavascripttutorial
배열의 순서는 데이터로 작업하는 동안 일반적인 작업입니다. JavaScript는 이 작업을 수행하는 다양한 방법을 제공합니다.
방법 1: 정렬 기능 사용
참고:
sort
함수를 사용하여 javascript에서 숫자를 정렬할 때 다음과 같이 직접 사용하고 싶을 수 있습니다.const arr = [2, 13, 4, -75, 22, 5];
arr.sort(); //[ -75, 13, 2, 22, 4, 5 ]
당신은 결과가 당신이 기대한 것과 다르다는 것을 깨닫습니다.
sort
함수의 직접 사용은 다음과 같은 문자열에서만 작동합니다.const arr2 = ["father", "mother", "children", "adam", "eve"];
arr2.sort();
//[ 'adam', 'children', 'eve', 'father', 'mother' ]
이 방법은 예상되는 출력을 제공하지만 대문자와 소문자가 다르게 취급되어서는 안됩니다. 예를 들어:
const arr3 = ["Eve", "adam"];
arr3.sort(); //[ 'Eve', 'adam' ]
배열에서
a
의 adam
가 E
의 Eve
앞에 올 것으로 예상하지만 대문자로 된 sort
함수의 경우는 그렇지 않습니다.이 문제를 해결하기 위해 문자를 소문자로 변환한 다음 다음과 같이 정렬을 수행하기로 결정할 수 있습니다.
const arr3 = ["Eve", "adam"];
arr3.sort((a, b) => a.toLowerCase().localeCompare(b.toLowercase));
//[ 'adam', 'Eve' ]
이제 우리는 예상되는 결과를 얻습니다. 이것이 해결책이지만 특히
toLowerCase
를 사용하면 특정 현지 언어와 작동하지 않기 때문에 다시 제기되는 문제가 있습니다.Intl.Collator
는 로케일과 비교하지 않는 정렬 순서를 지정하는 기능을 제공합니다.const arr3 = ["Eve", "adam"];
arr3.sort(Intl.Collator().compare);
//[ 'adam', 'Eve' ]
독일 로케일을 다룰 때 문서 예제에서와 같이
const a = ["Offenbach", "Österreich", "Odenwald"];
const collator = new Intl.Collator("de-u-co-phonebk");
a.sort(collator.compare);
console.log(a.join(", "));
// → "Odenwald, Österreich, Offenbach"
또한
Intl.Collator
는 Intl.Collator('de', { sensitivity: 'base' })
로 추가 사용자 정의를 제공합니다. 자세히 알아보기here숫자 정렬
방법 1: 정렬 기능 사용
sort
를 사용하면 숫자를 특정 순서로 정렬하는 작업이 간단해집니다.sort
는 숫자를 배열하기 위해 아래와 같이 사용됩니다.//smallest to Largest
function smallToLarge(arr) {
return arr.sort((a, b) => a - b);
}
//largest to smallest
function largeToSmall(arr) {
return arr.sort((a, b) => b - a);
}
reverse()
를 수행한 후 sort()
방법을 사용하여 가장 큰 것에서 가장 작은 것으로 또는 그 반대로 재정렬하는 것을 단순화할 수 있습니다.방법 2: for 루프 사용
for
루프를 사용하여 javascript의 배열 내에서 숫자를 정렬할 수도 있습니다.//Ordering from largest to smallest
function minMax(arr) {
let tempArr = arr;
let minMaxArr = [];
for (let i = 0; i < arr.length; i++) {
let min = Math.min(...tempArr);
tempArr = tempArr.filter((item) => item !== min);
minMaxArr.push(min);
}
return minMaxArr.pop();
}
여기서는
pop
함수를 사용하여 배열의 마지막 요소를 제거합니다. 우리의 경우에는 Infinity
입니다.최대값을 찾는 것은 다음과 같이 단순히
min
함수를 max
함수로 바꾸는 것입니다.function maxMin(arr) {
let tempArr = arr;
let maxMinArr = [];
for (let i = 0; i < arr.length; i++) {
let max = Math.max(...tempArr);
tempArr = tempArr.filter((item) => item !== max);
maxMinArr.push(max);
}
return maxMinArr.pop();
}
도움이 되셨다면 좋아요 ❤️를 남겨주세요
행복한 코딩 🔥 🔥
Reference
이 문제에 관하여(Javascript에서 배열 주문), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cavein254/ordering-arrays-in-javascript-31dm텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)