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循环不必从数组的最开始一直到最后都不必要地迭代,但是根据这些代码实际编译的方式我可能完全错误.执行.
提前致谢!
如果您没有特定的需求来创建额外的循环 - 没有太多理由这样做.无论如何,这两个while
循环和for
循环将迭代整个数组.提供示例的主要目标是编写更少的代码(我不会使用提供的代码来提高执行速度),所以我建议只使用单个for
循环来减小逻辑的大小.