если в лоб, то так
var input = [1, 2, 3, 4];
var output = [];
var len = input.length;
for(var i = 0; i < len; i++) {
var j = i + 1;
for(; j < len; j++) {
output.push([
input[i],
input[j]
]);
}
}
console.log(output);
console.log(JSON.stringify(output));
но я не проверял
