【问题标题】:How to put an if statement inside a for loop?如何将 if 语句放入 for 循环中?
【发布时间】:2019-04-04 08:29:09
【问题描述】:

当我处于循环的最后一个数字时,我想更改 volgendecylinder 的值。

我已经尝试了下面的代码,但这似乎不起作用:

for (i = 1; i < aantalDwars; i++) { 

    var geometry2 = new THREE.CylinderGeometry( dwarsDiameter * scale , dwarsDiameter * scale , lengte2*scale , 20 );
    var material2 = new THREE.MeshBasicMaterial( {color: 0xe4734f} );
    var cylinder2 = new THREE.Mesh( geometry2, material2 );
    cylinder2.userData.type = 'cylinder';

    scene.add( cylinder2 );
    if (i = aantalDwars){
        volgendeCylinder = ((lengte*scale)/2) + uitsteekLinks
    }

    cylinder2.position.set( ((lengte*scale)/2)+volgendeCylinder2, 1 , 0);
    volgendeCylinder2 -= (dwarsMaas*scale);
    cylinder2.rotation.x = Math.PI / 2;
}

【问题讨论】:

  • = 是赋值,不是比较
  • 那么什么是javascript中的比较? ==?
  • 循环也取决于 i 所以它永远不会等于 aantalDwars。
  • @EnzoMannaert == 将检查两个项目是否大致相同("1" == 1 =&gt; true),=== 将检查两个变量是否相同
  • 好的,谢谢尼克! AZ_ 是的,当我重读它时,我也意识到了这一点。

标签: javascript for-loop if-statement


【解决方案1】:
for (i = 1; i < aantalDwars; i++) { 

    var geometry2 = new THREE.CylinderGeometry( dwarsDiameter * scale , dwarsDiameter * scale , lengte2*scale , 20 );
    var material2 = new THREE.MeshBasicMaterial( {color: 0xe4734f} );
    var cylinder2 = new THREE.Mesh( geometry2, material2 );
    cylinder2.userData.type = 'cylinder';

    scene.add( cylinder2 );
    if (i == aantalDwars-1){
    volgendeCylinder = ((lengte*scale)/2) + uitsteekLinks

    }

    cylinder2.position.set( ((lengte*scale)/2)+volgendeCylinder2, 1 , 0);
    volgendeCylinder2 -= (dwarsMaas*scale);
    cylinder2.rotation.x = Math.PI / 2;
}

【讨论】:

  • 请添加一些文字来解释你做了什么
  • 只是改变了if语句 if (i == aantalDwars-1) in this lie only made changes
  • 请标记错字问题以关闭 - 它们明显偏离 Stack Overflow 的主题。回答不恰当
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-14
  • 2016-06-16
  • 2019-06-09
  • 1970-01-01
相关资源
最近更新 更多