source

루프 증가/감소에 대한 a가 하나 이상 증가할 수 있습니까?

ittop 2023. 8. 5. 10:58
반응형

루프 증가/감소에 대한 a가 하나 이상 증가할 수 있습니까?

다음을 증가시키는 다른 방법이 있습니까?for자바스크립트의 루프 추가 루프i++그리고.++i예를 들어, 1개가 아니라 3개가 증가합니다.

for (var i = 0; i < myVar.length; i+3) {
   //every three
}

사용+= 할당 연산자:

for (var i = 0; i < myVar.length; i += 3) {

기술적으로 for 루프의 마지막 식에 원하는 식을 배치할 수 있지만 일반적으로 카운터 변수를 업데이트하는 데 사용됩니다.

for 루프의 각 단계에 대한 자세한 내용은 MDN 문서를 참조하십시오.

A for루프:

for(INIT; TEST; ADVANCE) {
    BODY
}

다음을 의미합니다.

INIT;
while (true) {
    if (!TEST)
        break;
    BODY;
    ADVANCE;
}

당신은 거의 모든 표현을 쓸 수 있습니다.INIT,TEST,ADVANCE,그리고.BODY.

참고:++연산자 및 변형은 부작용이 있는 연산자입니다(처럼 사용하지 않는 경우에는 피하려고 노력해야 합니다).i+=1등):

  • ++i수단i+=1; return i
  • i++수단oldI=i; i+=1; return oldI

예:

> i=0
> [i++, i, ++i, i, i--, i, --i, i]
[0, 1, 2, 2, 2, 1, 0, 0]
for (var i = 0; i < 10; i = i + 2) {
    // code here
}​

Andrew Whitaker의 대답은 사실이지만 어떤 부분이든 어떤 표현이든 사용할 수 있습니다.
부울식과 비교할 수 있도록 두 번째(중간) 식을 계산해야 합니다.true또는false.

가 루프를 사용할 때, 저는 그것을 생각합니다.

for (var i = 0; i < 10; ++i) {
    /* expression */
}

있는 그대로

var i = 0;
while( i < 10 ) {
    /* expression */
    ++i;
}
for (var i = 0; i < myVar.length; i+=3) {
   //every three
}

추가의

Operator   Example    Same As
  ++       X ++        x = x + 1
  --       X --        x = x - 1
  +=       x += y      x = x + y
  -=       x -= y      x = x - y
  *=       x *= y      x = x * y
  /=       x /= y      x = x / y
  %=       x %= y      x = x % y

당신은 확실히 할 수 있습니다.다른 사람들은 당신이 해야 할 일을 정확하게 지적했습니다.i += 3당신이 여기서 하는 모든 것은 추가하는 것이기 때문에 당신은 당신이 올린 것을 할 수 없습니다.i + 3하지만 결과를 다시 할당하지는 않습니다.i.i++의 약어일 뿐입니다.i = i + 1,유사하게i +=3의 줄임말입니다.i = i + 3.

숫자 쌍(예: 1-2 ~ 3-4)을 증분하려는 경우:

해결책 1:

//initial values
var n_left = 1;
var n_right = 2;
    
for (i = 1; i <= 5; i++) {
        
    console.log(n_left + "-" + n_right);   
        
    n_left =+ n_left+2;
    n_right =+ n_right+2; 
}
//result: 1-2 3-4 5-6 7-8 9-10

솔루션 2:

for (x = 0; x <= 9; x+=2) {
    
    console.log((x+1) + "-" + (x+2));  

}
//result: 1-2 3-4 5-6 7-8 9-10

3항 연산자의 마지막 부분을 사용하여 증분 단계 크기를 지정할 수 있습니다.예를 들어, i++는 1씩 증가하는 것을 의미합니다. i++=2는 i=i+2와 같습니다.기타:

let val= [];

for (let i = 0; i < 9; i+=2) {
  val = val + i+",";
}


console.log(val);

예상 결과: "2,4,6,8"

'i'는 원하는 단계 크기에 따라 부동 소수점 또는 정수일 수 있습니다.

이것만을 위한 교환원이 있습니다.예를 들어 변수 i를 3으로 변경하려는 경우:

var someValue = 9;
var Increment  = 3;
for(var i=0;i<someValue;i+=Increment){
//do whatever
}
to decrease, you use -=
var someValue = 3;
var Increment  = 3;
for(var i=9;i>someValue;i+=Increment){
//do whatever
}

언급URL : https://stackoverflow.com/questions/12809776/can-a-for-loop-increment-decrement-by-more-than-one

반응형