2013-04-18 7 views
3

내가 해결할 수 있었던 문제가 생겼다. 그러나 나는 솔직히 이것이 어떻게 작동하는지 이해하지 못한다.변수에 배열 값을 할당

var array = [3, 6, 2, 56, 32, 5, 89, 32]; 
var largest = 0; 
//My code 
for (var i = 0; i < array.length; i++) { 
    if (array[i] > largest) { 
     largest = array[i]; 
    } 
} 

console.log(largest); 

내 배열은 if 문 내에서 변수에 값을 어떻게 할당합니까?

왜이 버전이 작동하지 않습니까?

저는 프로그래밍에 익숙하지 않으며이 기본적인 것만 이해하면 많은 초보자가 유능한 프로그래머가 될 수 있다고 믿습니다.

원하지 않는 것입니다 입력 자체를 수정하는 것

array[i] = largest; 

을하는이 코드는 값의 배열에서 가장 큰 값을 계산하기 위해 노력하고있다

+0

는 제외 책에서 좋은 온라인 자원은 화려한 MDN입니다. [** MDN이 - 알아 자바 스크립트 **] (https://developer.mozilla.org/en/learn/javascript), [** MDN - 자바 스크립트 문서 색인 **] (https://developer.mozilla.org/ en/learn/javascript) 배열에서 if 문까지 클로저에 이르는 문서와 코드 예제를 찾을 수 있습니다. 가장 단순한 것에서 더 복잡한 것에 도달. 희망이 리소스는 목표 달성에 도움이됩니다. – Nope

답변

2
if(array[i] > largest) { 
      largest = array[i]; 
     } 

array[i]3이며 할당 값 오른쪽 이제 largest3 인 왼쪽

largest = array[i]; 

조건과 통과하면

largest 다음 0이다.

따라서 다음주기 array[i]6이므로 다음 6 > 3이됩니다. 그러면 largest to 6이 다시 변경됩니다.

같이 큰 숫자를 얻을 수 있습니다.

+0

난 그냥 내 머리에서 클릭 무언가를 생각하고 내가 지금 ASSIGNMENT의 작동 방식을 이해하기 시작하고 !!!!!!!!!!!!!!!!!!!!!!!!!!!!! 감사합니다. 감사합니다. 할당은 오른쪽에서 왼쪽으로 값을 할당하여 작동합니까? 이것은 모든 종류의 과제에 대한 경우입니까? 그것은 a = b와 동일 할 것인가? – mrageh

+0

예 할당은 내가를 사용할 때 =이 연산자 – NPKR

+0

그래서 = 그 임무로 알려져 있으며 값은 왼쪽으로 오른쪽에서 할당 된 서명으로 작동합니다. 내가 틀렸다면 나를 바로 잡아주세요. – mrageh

1

은 ... ... 당신은 가장 큰 값을 찾을 필요 주어진 입력 위치에서 수정할 수 있습니다. 주어진 입력 위치를 최대 값으로 수정하지 마십시오.

largest = array[i] 

가 올 이유

.

2

수학에서 평등 진술로 프로그래밍 할 때 과제 문을 착각하고 있다고 생각합니다. 코드에

Assignment vs Equality

하면 큰 어레이 말 = [I]를 변수 "위"배열의 i 번째 위치에있는 원소의 값으로 할당된다. 여기서는 배열이이 할당에서 값을 변경하지 않음을 알 수 있습니다.

반면에 array [i] = largest는 배열의 i 번째 위치에 변수 'largest'의 현재 값을 할당하려고 시도합니다.

+0

woooooooow 감사합니다,하지만 어쩌면 내가 여기 바보되고 있어요하지만 난 아직도 이해가 안 돼요. 나는 임무가 수학에서의 평등과 동일하지 않다는 것을 안다. 정말로 좌절 할까 봐 내가 그것 위에서 자야 할까? ! 난 이해하지 않는 것이 :( – mrageh

+0

을 당신이 그것을 감사 대답을 @NPKR있어 참조 명확히 물어 모르는) – EduG

+0

예 나는 당신의 입력 – mrageh

1

변수에 값을 할당 할 때 변수는 대입 연산자 왼쪽에 있어야합니다 (등호 "=").

largest = array[i]; 

는 그것은 변수로 배열 [I] 값을두고, 따라서 작동 :

이 방법은 좌측의 변수를 가진다.

array[i] = largest; 

는 그것은 배열 [i]를 요소로 가장 큰 가치를두고, 당신의 배열은 그 안에 제로의 무리와 함께 끝 :

이 방법

거꾸로입니다.

+0

주셔서 감사합니다 않았다 정말 유익한 정보 감사합니다 – mrageh

관련 문제