标签: control-structure

打破循环

假设你有这个代码:

function doSomething($array)
{
  for($i = 0; $i < sizeof($array); $i++)
  {
    if ($array[$i] == "ok")
      return true;
  }

  return false;
}
Run Code Online (Sandbox Code Playgroud)

请注意,我不是在谈论特定于PHP(这适用于所有语言)或此特定示例.这是关于打破for循环(在这种情况下,返回true;停止循环).

根据我的老师的说法,这是非常非常糟糕的,也是一种没有做过的练习.

从一个循环中脱离真的是一个没做过的练习?

谢谢

language-agnostic for-loop control-structure

3
推荐指数
1
解决办法
360
查看次数

Javascript中的高级构造

我在github上找到了一个有趣的项目,它在浏览器中处理pdf渲染.

我试着阅读代码,因为我对这个主题感兴趣,但我意识到我的javascript知识很差(不足).

有一些结构,如:

var Obj = (function() {
    function constructor(type, value) {
    this.type = type;
    this.value = value;
    }

    constructor.prototype = {
    };

    var types = [
    "Bool", "Int", "Real", "String", "Name", "Null",
    "Array", "Dict", "Stream", "Ref",
    "Cmd", "Error", "EOF", "None"
    ];

    for (var i = 0; i < types.length; ++i) {
    var typeName = types[i];
    constructor[typeName] = i;
    constructor.prototype["is" + typeName] =
    (function (value) {
     return this.type == i &&
     (typeof value == "undefined" || value == …
Run Code Online (Sandbox Code Playgroud)

javascript control-structure language-construct data-structures

3
推荐指数
1
解决办法
308
查看次数

我可以随机迭代for循环而不是顺序吗?

如果有一个for循环就好

for ( int i = 0; i <= 10; i++ )
{
   //block of code
}
Run Code Online (Sandbox Code Playgroud)

我想要实现的是,在第一次迭代之后,我的值不需要是1,它可以是从1到10的任何值,我不应该再次为0,对于其他迭代也是如此.

c# java loops for-loop control-structure

3
推荐指数
2
解决办法
1984
查看次数

C#中如何转移goto语句的控制权

我是编程初学者,我正在尝试这个简单的程序来获取用户名并对其进行排序等等。

class Program
{
    static void Main(string[] args)
    {
        int number;
        dynamic y;

        string[] answer = new string[10];
        cases:
        Console.WriteLine("Enter the options given below 1.Add students\n 2.View all details\n 3.Sorting\n 4.Exit\n");
        int input = Convert.ToInt16(Console.ReadLine());
        switch (input)
        {
            case 1:
                Console.WriteLine("Enter the Number of Students to be added to the List");
                number = Convert.ToInt16(Console.ReadLine());
                for (int i = 0; i < number; i++)
                {
                    answer[i] = Console.ReadLine();
                }
            case 2:
                foreach (var item in answer)
                {
                    Console.WriteLine(item.ToString());
                }
                break;
            case …
Run Code Online (Sandbox Code Playgroud)

c# loops goto control-structure

3
推荐指数
1
解决办法
847
查看次数

哪个更快:"null == myObject"或"myObject == null"?

在Java和.Net中,我听说首先使用null if (null == myObject)比首先使用对象更有效if (myObject == null).虽然我认为这可能是真的,但我不确定并希望了解SO用户.就个人而言,我认为如果首先引用该对象会更好,但如果首先使用null会有任何性能提升,我会选择相应的.

.net java null control-structure operator-precedence

2
推荐指数
2
解决办法
279
查看次数

将流程图转换为c ++代码

我将此流程图转换为C++代码时遇到问题.

流程图

应该看起来有点像这样(我现在知道这是错的):

do {
  I1;
  if(!W1) {
      I2;
  ...
  }
}
Run Code Online (Sandbox Code Playgroud)

I1,I2,I3是指令.我想我应该使用布尔变量来正确地做,但是如何?

c++ control-structure flowchart

2
推荐指数
1
解决办法
552
查看次数

打破数组循环函数(map、forEach 等)的循环

如何break从数组上的隐式循环中中断(类似于语句)?

Array.prototype.map、等函数Array.prototype.forEach意味着对数组元素进行循环。我想有条件地尽早打破这个循环。

这个人为的例子:

const colours = ["red", "orange", "yellow", "green", "blue", "violet"];

colours.map(item => {
    if (item.startsWith("y")) {
        console.log("The yessiest colour!");
        break;
    }
});
Run Code Online (Sandbox Code Playgroud)

导致SyntaxError: unlabeled break must be inside loop or switch.

如何像break语句一样打破循环?

javascript control-structure

2
推荐指数
1
解决办法
1万
查看次数

在收到有效输入之前,如何继续使用JavaScript if?else if语句?

如何使用if ... else if语句继续提示用户提供有效响应?我的脚本目前只运行一次,但随后中断:

var enterNum = prompt("Please enter a number between 1 and 100", "");


if (isNaN(enterNum)){
    enterNum = prompt("You did not enter a valid number. Please try again", "")
}
else if (enterNum < 1 || enterNum >100){
    enterNum = prompt("Your number is not between 1 and 100. Please try again", "")
}
else{
    document.write("Your number is ", enterNum)
}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

javascript control-structure

1
推荐指数
1
解决办法
5657
查看次数

是什么语法(var i = 0,item; item = a [i ++];)

重新引入Javascript中,语法

for (var i = 0, item; item = a[i++];)
Run Code Online (Sandbox Code Playgroud)

被解释为中间"项目"是对真实/虚假的条件测试.但是,我假设语法是(开始;条件测试;控制因子),每个段之间有分号.在这里,语法对我来说是不熟悉的(开始,条件测试;控制因素;),中间是逗号,最后是分号.它等同于

for (var i = 0; item; item = a[i++])
Run Code Online (Sandbox Code Playgroud)

如果是这样,为什么最后用逗号和分号写呢?

javascript for-loop control-structure

1
推荐指数
1
解决办法
1169
查看次数

为什么在速记if-then-else中返回"true"时为空值?

这不是一个"问题",而是一个"为什么"的问题.

基于以下示例:

echo 'test' . ( true ?  : 'some-test' );
Run Code Online (Sandbox Code Playgroud)

为什么结果如此:test1而不是人们所期望的:test.

或者换句话说:为什么是空的返回语句1(或实际true)而不是null

php if-statement shorthand-if control-structure

1
推荐指数
1
解决办法
510
查看次数