小编AFu*_*sco的帖子

使用ng-repeat in angular列出每行2个元素的最佳方法?

我有一个对象数组,我想使用ng-repeat显示每行2.

我想出的解决方案如下:

 <div ng-repeat="element in elements">
      <div layout="row" ng-if="$even">
        <div flex>
          <span>{{ elements[$index].name }}</span>
        </div>
        <div flex>
          <span>{{ elements[$index+1].name }}</span>     
        </div>
      </div>
</div>
Run Code Online (Sandbox Code Playgroud)

问题在于,我无法以| filter正确的方式过滤内容,因为它会显示过滤后的元素和以下内容.

解决问题的最佳方法是什么?

抱歉我的英语不好,这不是我的第一语言.先感谢您.

javascript angularjs ng-repeat angularjs-ng-repeat

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

在java中优化循环内的空检查?

我正在编写一个算法,其中效率非常重要。有时我也想通过调用一些“回调”函数来跟踪算法行为。假设我的代码如下所示:

public float myAlgorithm(AlgorithmTracker tracker) {
    while (something) { // millions of iterations
        doStuff();
        if (tracker != null) tracker.incrementIterationCount(); // <--- How to run the if only once?
        doOtherStaff();
    }
}
Run Code Online (Sandbox Code Playgroud)

如何防止执行 if 语句一百万次?编译器是否看到tracker从未重新分配?如果它在第一次检查时为空,它将始终为空。如果不是,则永远不会。

理想情况下,我想告诉编译器以这种方式构建我的代码,以便如果tracker为 null(在运行时),它将以与以下相同的性能运行

    while (something) { // millions of iterations
        doStuff();
        doOtherStaff();
    }
Run Code Online (Sandbox Code Playgroud)

我想到了两个解决方案:

  • 我可以编写两个版本的 myAlgorithm,一个有调用,一个没有调用,但这会导致大量代码重复。

  • 我可以将 AlgorithmTracker 提取到一个界面并创建一个带有空函数的假空跟踪器。不过,我不知道编译器是否会优化调用。

java performance jvm

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