是否值得运行两个While循环来确定For循环的初始起点和迭代次数?

Rus*_*ssR 2 javascript arrays loops google-apps-script

我有一个基本的for循环,遍历一个值数组并在找到某个值时执行代码.该数组是从Google表格中获取的一列真或假值.

// array example: [[false], [false], [false], 
//                 [true], [false], [false],
//                 [false], [true], [false],
//                 [false], [false], [false]]

for (i = 0; i < array.length; i++) {
 if (array[i][0] === true) {
  // execute code
 }
Run Code Online (Sandbox Code Playgroud)

是否值得(性能方面)运行两个While循环来确定For循环应该从哪里开始以及它应该迭代多少次,或者它基本上是否相同?

var c = array.length - 1;
while (array[c][0] === false) {
 c--;
}

var d = 0;
while (array[d][0] === false) {
 d++;
}

var start_row = d+1;
var end_row = c+1;

for (i = start_row - 1; i < end_row; i++) {
 if (array[i][0] === true) {
  // execute code
 }
Run Code Online (Sandbox Code Playgroud)

这两个For循环似乎执行完全相同,但我希望得到一些输入,如果一个优先于另一个以及为什么.在我看来,第二种情况更有意义,因为For循环不必从数组的最开始一直到最后都不必要地迭代,但是根据这些代码实际编译的方式我可能完全错误.执行.

提前致谢!

Com*_*ide 5

如果您没有特定的需求来创建额外的循环 - 没有太多理由这样做.无论如何,这两个while循环和for循环将迭代整个数组.提供示例的主要目标是编写更少的代码(我不会使用提供的代码来提高执行速度),所以我建议只使用单个for循环来减小逻辑的大小.