Skip to content

Instantly share code, notes, and snippets.

@silesky
Created March 27, 2017 21:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save silesky/5df27a3608b87e644f7c2402130fc575 to your computer and use it in GitHub Desktop.
Save silesky/5df27a3608b87e644f7c2402130fc575 to your computer and use it in GitHub Desktop.
const getSums = (intArr) => {
let valuesArray = []
intArr.forEach((eachVal, eachIndex, arr) => {
for (let i = 0; i < arr.length - 1; i++) { // run on every element except the last one
if (valuesArray.every(el => el !== eachVal)) { // don't push duplicate items
valuesArray.push(eachVal + arr[i + 1]) // add adjacent element to selected element
}
}
})
return valuesArray.sort((p, n) => p > n) // sort from lowest to highest for clarity
}
const matchSums = (intArr, ...intToMatch) => {
return [...intToMatch].some(eachArg => {
return getSums(intArr)
.some(el => el === eachArg)
})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment