I'm trying to wrap my head around saving time in my coding solution.
I have a function called tripletSum which takes two parameters x and a where x is a number and a is an array.
This function is supposed to return true if the list a contains three elements which add up to the number x, otherwise it should return false.
I've created the following working solution:
function tripletSum(x, a) {
    for(var i = 0; i < a.length; i++) {
        for(var j = i + 1; j < a.length; j++) {
            for(var k = j + 1; k < a.length; k++) {
                if((a[i] + a[j] + a[k]) === x) {
                    return true;
                }
            }
        }
    }
    return false;
}
But this doesn't seem like the best practice. Currently the time it takes to run through this function is O(n^3) if I'm not mistaken and I think it can be improved to have a time complexity of O(n^2).
Anyway I can change this code to do that?
Edit: This is not a duplicate of the other question because I was asking for a specific improvement on my current example in JavaScript which is not what it asked in the marked duplicate question.