그리고이 비디오에서는이 어레이 문제에 대한 솔루션을 처음부터 다시 작성하는 방법을 살펴 보겠습니다.
그래서 우리가 가지고있는 첫 번째 것은 인쇄 참조 자입니다.
그래서 우리가 시작하기 전에.
파일을 올바르게 설정하면 이미 파일이 저장되어 있습니다.
방금 그 해결책을 HMO라고했습니다.
J S와 같은 솔루션 태그와 동일한 스크립트 태그 소스를 포함시키고 그 파일을 만들어야합니다.
그러니 그 해결책을 구하십시오.
예.
그리고 언제나처럼 나는 나의 평의회로 시작하고 싶지만 로그를 연결하고 싶습니다.
가자.
브라우저에서 이것을여십시오.
콘솔을 열면 연결되어 있습니다.
괜찮아.
이제 인쇄 역순으로 시작하겠습니다.
역전 인쇄는 기능입니다.
그래서 인자와 배열을 취하는 print reverse 함수를 정의하는 것으로 시작하겠습니다.
나는 그것을 단지 r r이라고 부를 것이고 우리가해야 할 일은 배열을 반복하는 것이다.
우리는 배열의 끝에서부터 시작 부분까지 거꾸로 되돌리고 싶습니다. 그리고 나서 우리는 var를 각 항목에 기록 할 것입니다.
따라서 foreach는 이상적이지 않습니다.
우리는 목록을 순회하는 순서대로 좀 더 유연한 for 루프를 사용할 것이다.
따라서 var에서 나는 0에서 시작하는 대신 배열의 끝에서 시작합니다.
그래서 var은 array가 -1 인 것을 좋아하지 않으며 길이가 항상 가장 큰 인덱스보다 하나 크기 때문에 -1을 더해야합니다.
그래서 약간의 간격이 있습니다.
다음으로 우리는 계속 갈 것입니다.
I가 0보다 큰 동안.
그리고 마지막으로 우리는 마이너스로 갈 것입니다.
그래서 나는 시작할 것이다.
이 배열 3 6에서 5의 인쇄 역순의 경우에 나는 3이 될이 색인에서 시작할 것이고 나는 5를 출력 할 것이고 나는 1을 빼서 1을 빼면 로그 배열을 출력 할 것이다. I의 배열은 2와 6을주고 3은 마지막 시간을 0으로 만듭니다.
그래서 우리는 세 개를 인쇄하고 다 했어요.
그럼 한번 보죠.
이 인쇄물을이 배열과 관련이 있다고 부를 것입니다.
브라우저에서 실행하면 5에서 6, 3이라는 결과를 얻을 수 있습니다.
5-6 및 3입니다.
다음 문제로 넘어 갑시다.
그래서 다음 문제는 배열을 인수로 취하여 참을 반환하는 균일 한 것입니다.
모든 요소가 정확히 같아야 만.
그래서 저는이 파일이 끝날 때까지 꽤 꽉 차서 유니폼이 시작되는 곳이라는 메모를 작성함으로써 시작하겠습니다.
그래서 나는 그것을 분명하게하고 싶다.
우리 함수를 정의함으로써 시작해 보겠습니다. 그리고 그것은 하나의 배열을 취할 것입니다.
그래서 이것을 해결할 방법은 첫 번째 항목과 동일한 변수를 만들 것입니다.
그래서이 경우 1에서 배열을 반복하고 그 첫 번째 항목을 다른 모든 항목과 비교할 것입니다. 그리고 어느 시점에서든 동일하지 않으면 false를 반환하고 전체 함수를 끝낼 것입니다 .
그러나 우리가 끝까지 그것을 만들면 모든 항목이 동일하다는 것을 의미합니다.
그래서 우리는 사실로 돌아갈 수 있습니다.
그래서 저는 먼저 변수 var를 첫 번째 항목과 동일하게 만드는 것으로 시작하겠습니다.
그런 다음 배열을 반복합니다.
그래서 여기서 for 루프를 사용할 것이고, 이후에 설명 할 foreach를 사용하지 않는 이유가 있습니다.
그래서 나는 루프를 반복 할 것입니다. Array보다 I plus plus가 맘에 들지 않습니다. array high가 첫 번째 것과 같지 않은지 검사 할 것입니다.
그것은 우리 배열이 일정하지 않다는 것을 의미합니다.
그래서 나는 거짓을 돌려 줄 것입니다.
그리고 나서 배열의 마지막 부분에서 전체 루프를 통과하면 사실로 돌아갈 수 있습니다.
여기에 하나의 작은 최적화가 있습니다. 저는 현재 첫 번째 항목을 0과 첫 번째 항목을 비교하고 있습니다.
루프를 처음봤을 때.
만약 내가 0이라고 말하면 체크는 행을 먼저 지우는 것입니다.
그래서 나는 그것을하고 싶지 않습니다.
나는 색인 1에서 시작하려고합니다.
그것을 시험해 봅시다.
페이지를 새로 고침하면 배열 1 1 1이 균일합니다.
그건 사실이야.
그러나 대략 1 1 2.
그건 거짓말이고 두 사람은 갔다.
그것은 또한 거짓입니다.
승인.
그래서 나는 각각에 대해 a를 사용하고 싶지 않다고 언급했다.
그리고 그 뒤에있는 이유는 foreach 주석을 작성하고 for 루프 대신에 각 함수에 빨간색 점을 넣었을 때 요소를 호출하면 요소가 First와 같지 않은지를 점검 할 것입니다 나는 거짓을 돌려 보낼 것이다.
이것은 for 루프 대신에 foreach에 추가 한 것을 제외하고는 정확히 동일한 로직입니다.
우리는 문제가 있습니다. 문제는 내가 여기에 거짓을 반환 할 때, 이것은 바로 여기에있는 첫 번째 함수를 반환한다는 것입니다.
그래서 모든 유니폼을 빠져 나가는 것이 아니라 단지 첫 번째 함수에서 나가서이 레벨로 데려 간다. 그러면 다음 라인이 실제로 리턴된다.
따라서 여기서 다루는 작업을 처리하는 것보다는 for 루프를 사용하는 것이 훨씬 간단하지만 문제가 무엇인지 이해하기를 바랍니다.
그래서 다시 한 번 요약하면 하나의 함수 대신 돌아옵니다.
그것은 하나의 레이어 만 껍질을 벗기므로 정확한 함수를 반환하고 그 안에있는 다음 함수는 여전히 실행을 끝냅니다.
그래서 나는 이것을 가지고 나와서 우리의 진정한 해결책으로 남겨 두자.
다음으로 배열이 있습니다.
따라서 어떤 배열은 하나의 배열을 취하고 그 안에있는 모든 항목을 합산합니다.
그래서 우리는 내 의견을 가지고 배열을 시작하려고합니다. 그리고 어떤 배열은 하나의 배열을 취하는 함수를 선언 할 것입니다.
그리고이 경우 우리는 합계를 유지할 변수를 만들어야합니다.
그런 다음 전체 배열을 반복하고 그 합계에 추가해야합니다.
그래서 변수 total이 0이 될 것입니다.
그리고 나서 각각을 위해 할 것입니다.
그래서 각 배열.
그리고 나는 단지 for 반복문을 할 수 있었고 나는이 요소를 호출 할 것이고 나는 매번 합계를 추가 할 것입니다.
그래서 total plus는 요소와 같습니다.
그리고 나서 최종 반환 총액과 그게 전부입니다.
따라서 배열을 통해 전체 제로 루프를 시작하고 모든 요소를 ​​가져 와서 합계에 추가 한 다음 끝에 합계를 반환합니다.
그것을 시험해 봅시다.
배열에서 일부 배열을 수행해 봅시다.
1 2 3 그리고 나는 6을 얻는다.
10 10 10 정도면 30을 얻습니다.
좋아요, 그게 배열이에요.
마지막으로 숫자 배열에서 max 요소를 결정합니다.
그래서 나는 먼저 내 의견을 추가 할 것입니다.
우리는 여기서 Max에 대해 연구 할 것이고, 먼저 그 함수를 정의 할 것입니다.
그래서 함수 Max는 하나의 배열을 다시 취하고 여기서 논리는 최대 값을 추적 할 수있는 변수를 가지므로 기본적으로 첫 번째 요소로 시작한 다음 모든 루프를 반복 할 것입니다. 다른 항목을 선택하고 현재 최대 값과 비교하십시오.
그리고 그것이 현재의 최대 값보다 큰 경우 그 요소는 새로운 최대 값입니다.
그리고 나서 우리는 그것을 끝으로 되돌립니다.
그래서 저는 var Max를 배열 0과 같게하려고합니다. 그런 다음 배열을 반복하면서 다양한 루프를 사용하기 위해 for 루프를 사용할 것입니다.
그래서 var I는 0입니다.
그리고 실제로 1에서 시작할 수 있습니다.
우리는 같은 이유로 이미 비율을 사용하고 있기 때문에 1에서 이것을 시작할 수 있습니다.
그래서 나는 1 4가 0과 같았습니다.
나는 플러스 레이더 링크보다 적다.
그리고 제가하고 싶은 것은 제가 배열되어 있는지 확인하는 것입니다.
따라서 개별 요소가 최대 값보다 큰 경우 Max는 이제 Array와 같습니다.
따라서 새로운 값을 만나면 값이 계속 변경되거나 잠재적으로 값이 변경됩니다.
그래서이 운동에서 처음에는 1 2 3 명입니다.
하나는 최대 값입니다.
그런 다음 우리는 루프를 거쳐 2와 비교합니다.
2는 1보다 큽니다.
그래서 두 가지는 새로운 최대 값입니다.
그리고 그 반복은 세보다 큽니다.
그래서 3은 새로운 최대 값이고 우리가 놓친 마지막 라인은 일단 루프가 완료되면 Max를 반환합니다.
그리고 무엇이 좋은가.
자 이제 이것을 새로 고치고 1 2 3에서 max를 실행 해 봅시다. 우리는 3을 얻습니다.
이제 중간에 20을 더하고 20을 얻자.
그리고 마지막으로 음수로 재생 해보고 작동하는지 확인하십시오.
그리고 우리는 여전히 20 점을 얻습니다.
승인.
그래서 여기에 네 가지 해결책이 있습니다.
그들 모두는 우리가 각각 사용했던 루프와 일부 루프를 사용해야했습니다.
우리는 for 루프와 그 중 일부와 모든 것을 사용했습니다.
우리는 경주를 연습합니다.
굉장해.