varthreeSumClosest=function(nums, target){let len = nums.length
// 数组长度小于等于3 直接进行累加let num
if(len<=3)return num = nums.reduce((a,b)=>a+b)// 先定义一个最小值let min = Math.abs(target-(nums[0]+nums[1]+nums[2]))// 进行排序
nums.sort((a,b)=>a-b)for(let i =0; i<len;i++){// 这个值与上一个值相等 跳出循环if(nums[i]===nums[i-1])continue// 定义左右指针let right = len-1let left = i+1while(right>left){let sum = nums[i]+nums[left]+nums[right]// 如果sum与目标值相等 直接返回num等于目标值if(sum===target)return num = target
// 如果sum-target的绝对值小于min 说明这个值就是我们可以要的if(Math.abs(sum-target)<=min){// 给min赋值 返回值等于sum
min = Math.abs(sum-target)
num = sum
}// 目标值大于target 右指针往左 小于target 左指针往右if(sum>target)right--elseif(sum<target)left++}}return num
};