JavaScript代码中return -1的含义、工作原理及作用是什么?
关于这段JavaScript代码中
return -1的说明 具体含义
这是约定俗成的查找失败标记值:当传入的数组里不存在「平衡元素」(即某个元素左侧所有元素的总和等于右侧所有元素的总和)时,函数就会返回-1,告知调用方没有找到符合要求的结果。
运行逻辑
我们顺着函数的执行流程理清楚它的触发时机:
- 函数首先初始化两个变量
left_sum(存储当前遍历位置左侧元素的总和)、right_sum(存储当前遍历位置右侧元素的总和) - 外层循环首次执行时,会把数组第一个元素之外的所有值累加到
right_sum中,作为初始的右侧总和 - 进入内层循环后,会逐个把当前位置的元素从右侧和扣除、加到左侧和里,每调整一次就判断左右和是否相等:
- 如果相等,直接返回当前位置的下一个元素(也就是找到的平衡元素),函数直接终止
- 如果内层循环完整跑完都没有触发返回,说明遍历完所有可能的位置都没找到平衡元素,此时就会执行到
return -1,直接结束函数
补充:这段代码本身存在冗余问题,外层的for循环实际上只会执行一次——不管内层循环有没有找到结果,内层执行完后要么已经在内部返回结果,要么就走到
return -1结束函数,外层循环后续的迭代永远不会触发。
实际作用
- 统一返回值类型:保证不管有没有找到结果,函数都会返回数字类型的值,避免返回
undefined导致调用方后续处理出错 - 明确传递查找状态:-1不属于数组正向下标(数组下标从0开始),也不会和正整数类型的数组元素混淆,作为「不存在」的标记辨识度很高,调用方只要判断返回值是否为-1就能快速知道查找结果。
内容的提问来源于stack exchange,提问作者user15793040
相关产品推荐
相关产品推荐

