给定一个数组 返回所有相邻相加和为10的搭配
function arrFn (arr, target) { // arr传入数组 target目标和
let j = 0,
sum = 0,
resArr = [],
result = [];
while (j < arr.length) {
if (arr[j] > target) { // 值超了 pass 组合数组置空
j++;
resArr = [];
} else { // 求和
sum = sum + arr[j];
resArr.push(j); // 把搭配推入数组
if (sum > target) { // 超了 和减去组合数组的第一个
sum = sum - arr[resArr.shift()];
} else if (sum === target) { // 相等 把组合数组推入结果数组
let arrCopy = JSON.parse(JSON.stringify(resArr)); // 深拷贝
result.push(arrCopy);
sum = sum - arr[resArr.shift()];
}
j++; // 角标右移
}
}
return result;
}