I’m trying to understand why this works.
var twoSum = function(nums, target) {
let result = nums.reduce((answers, value, index, src) =>{
let pair = src.indexOf(target-value);
return (answers.length < 2) && (pair != -1) && (pair != index) ? [...answers, index] :answers;
},[]);
return result;
};
But this gives me a runtime error that answers is undefined.
var twoSum = function(nums, target) {
let result = nums.reduce((answers, value, index, src) =>{
if(answers.length < 2) {
let pair = src.indexOf(target-value);
return (pair != -1) && (pair != index) ? [...answers, index] :answers;
},[]);
} else {
return answers;
}
return result;
};
It seems like the scope of answers
should be the same in both cases but obviously is not.