function handle2() { let n = 5 let line = [1,2,4,0,8] let maxSum = -1; let point = {x: 0, y: 0} let start = 0; let sum = 1; let pre = 0; // 前一个指针 let las = 0; // 移动的指针 point.x = 0; point.y = 0; let isZero = false; while (las < n) { let cur = line[las] if (cur == 0) { las++; pre = las; sum = 1; isZero = true; } else { // 正常情况 1 2 4 0 在2时 // 计算sum大小, 如果大, 就更新y; sum *= cur; if (sum > maxSum) { maxSum = sum; if (isZero) { point.x = pre; isZero = false } point.y = las; } las++; } } console.log(point.x+1,point.y+1) }