[Avascript]Arrayオブジェクト(3)-Sortアルゴリズム,逆(),解答(ES 3)


1.sortアルゴリズム

var arr = [101, 26, 7, 1234];
arr.sort(function(one, two){
  return one-two;
});
console.log(arr)
/*
1. sort() 파라미터의 function(){}을 호출하면서 101과 26을 파라미터 값을 넘김.
101이 one에, 26이 two에 설정

2. one(101) - two(26)의 결과는 양수이며 이 값을 반환한다.
3. 이때, 0보다 큰 값이 반환되면 배열에서 값의 위치를 바꿈.
   [26, 101, 7, 1234]가 된다.
   
4. 다시 콜백 함수를 호출하면서 101과 7을 넘겨줌.
   one(101) - two(7)의 결과는 양수이며 0보다 큰 값을 반환
5. 반환 값이 0보다 크므로 배열에서 값의 위치를 바꾼다.
   [26, 있다 7, 101, 1234]
   
6. 다시 함수를 호출하면서 101과 1234를 넘겨줌.
   one(101) - tww(1234)의 결과는 음수이며 0보다 작은 값을 반환
7. 반환 값이 0보다 작거나 같으면 배열에서 값의 위치 변경 ✕
   [26, 7, 101, 1234]
   
8. 다시 처음으로 돌아가 바뀌는 것이 없을 때까지 배열의 엘리먼트 위치를 조정한다.
*/

[실행 결과]
[7, 26, 101, 1234]

2. reverse()


区切りデータ(値)を使用しないデータターゲットパラメータの戻り結果
// 배열의 엘리먼트 위치를 역순으로 바꿈
// 🚨 엘리먼트 값이 아닌 인덱스 기준
// 대상 배열도 바뀜
var arr = [1, 3, 7, 5];
console.log(arr.reverse());

[실행 결과]
[5, 7, 3, 1]

3.問題を解く


▼▼▼要求

var arr = [101, 26, 7, 1234];配列内の要素値を逆順に並べてください.

▼▼ヒント


sort()メソッドは逆順序ソートを提供しません.
sort()メソッドのコールバック関数を使用して、逆順序でソートできます.

▼▼▼▼▼草(正解❌)

var arr = [101, 26, 7, 1234];
        arr.sort(function(one,two){
            return two-one;
        });
        console.log(arr);

▼▼問題の出所


https://www.inflearn.com/course/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EB%B9%84%EA%B8%B0%EB%84%88/dashboard