mercredi 16 août 2017

Third if-clause can't be reached

This probably has an easy solution, but I simply don't see it at the moment. I have three if-clauses that ashould be activated based on the length of an array. The first two ones seem to work fine, but for some odd reason I can't activate the third one (arr.length === 3). Right before the if clauses I have tried an alert to test whether it gives the right length of the array and it does.

function calculateDistances() {
        var arr = [];

        arr.push(posM, posL, posR);
        alert(arr[1])
        for (var i = 0; i < arr.length; i++) {
            if (!arr[i]) {
                arr.splice(i,1)
            }
        }
        alert(arr.length)
        if (arr.length === 0 || 1) {
            return true;
        }
        else if (arr.length === 2 ) {
            var diameter = calculateDiameter(arr[0], arr[1])
            if (diameter > minDistance) {
                return false;
            }
            else {
                return true;
            }
        }
        else if (arr.length === 3) {
            alert("hello")
            var diameter1 = calculateDiameter(arr[0], arr[1]);
            var diameter2 = calculateDiameter(arr[0], arr[2]);
            var diameter3 = calculateDiameter(arr[1], arr[3]);

            if (diameter1 && diameter2 && diameter3 < minDistance) {
                return true
            }
            else{
                return false
            }
        }

    }

Aucun commentaire:

Enregistrer un commentaire