var arr = [-1,0,1,2,-1,-4];
var result = [];
var obj = {};
var num = [];
arr.sort((a,b) => a - b);
arr.forEach((item,index) => {
var value = 0 - item;
var i = 0;
var j = arr.length-1;
while(i < j){
if(value < arr[i] || value > arr[j]) break;
else if(value > (arr[i] + arr[j])) i++;
else if(value < (arr[i] + arr[j])) j--;
else if(value == (arr[i] + arr[j])){
if(index != i && index != j){
var temp = [item,arr[i],arr[j]];
result.push(temp.sort());
}
i ++;
}
}
})
result.forEach((item,index) => {
if(!obj[item]){
num.push(item);
obj[item] = item;
}
})
console.log(num);