js中forEach()循环return不生效 解决方案

解决方案 (一)
由于forEach无法在未完成遍历的情况下return,
故在循环外return

var twoSum = function(nums, target) {
    let arr=[];
    nums.forEach((item,index)=>{
        nums.forEach((item1,index1)=>{
            let demo = item+item1;
            if(index!=index1&&demo==target){
                arr= [index1,index]
            }
        })
    })
    return arr;
};

解决方案(二)
使用for循环替代forEach(同时for循环占用内存及耗时均低于forEach)

var twoSum = function(nums, target) {
    let l=nums.length;
    for(let i=0;i<l;i++){
        for(let j=0;j<l;j++){
            if(i!=j&&nums[i]+nums[j]==target){
                return [i,j]
            }
    }
    }
};
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容