Das hat wahrscheinlich eine einfache Lösung, aber ich sehe es einfach nicht im Moment. Ich habe drei if-Klauseln, die basierend auf der Länge eines Arrays aktiviert werden sollten. Die ersten beiden scheinen gut zu funktionieren, aber aus irgendeinem Grund kann ich den dritten nicht aktivieren (arr.length === 3). Kurz vor den if-Klauseln habe ich eine Warnung ausprobiert, um zu testen, ob es die richtige Länge des Arrays gibt und es tut.Drittes if-Klausel kann nicht erreicht werden
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
}
}
}
'arr.length === 0 || 1 'ist immer wahr. – Ivar
Ich denke, das ist eine falsche Herangehensweise, die Sie nie die dritte erreichen werden, wenn überhaupt –