[Avascript]Arrayオブジェクト(3)-Sortアルゴリズム,逆(),解答(ES 3)
5879 ワード
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
Reference
この問題について([Avascript]Arrayオブジェクト(3)-Sortアルゴリズム,逆(),解答(ES 3)), 我々は、より多くの情報をここで見つけました https://velog.io/@newsilver1028/Javascript-Javascript의-특징-3vlfnkskテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol