Tengo un problema de codewars a continuación:
Dada una matriz de 4 enteros [a,b,c,d] que representan dos puntos (a, b) y (c, d), devuelva una representación de cadena de la pendiente de la línea que une estos dos puntos.
Para una pendiente indefinida (división por 0), devuelve undefined . Tenga en cuenta que "indefinido" distingue entre mayúsculas y minúsculas.
a:x1 b:y1 c:x2 d:y2
Suponga que [a,b,c,d] y la respuesta son todos números enteros (¡sin números flotantes!). Pendiente: https://en.wikipedia.org/wiki/Slope *
Puedo obtener la pendiente de cualquier número cuando 0 no está en el denominador (parte inferior de la fracción). Sin embargo, cada vez que 0 está en el denominador, recibo este mensaje:
*esperado indefinido igual a '0'
No estoy seguro de cómo resolver esta parte. Mi código hasta ahora está a continuación:
function slope(points) { let a = (points[0]); let b = (points[1]); let c = (points[2]); let d = (points[3]); function findSlope(a,b,c,d) { if (ca === 0) { return 'undefined'; } else if (ca !== 0) { let slope = (db)/(ca); let answer = slope.toString(); return answer; } else { return 'undefined'; } } }¡Gracias!
Esto sucede probablemente porque no está pasando valores.
function slope(points) { let a = points[0]; let b = points[1]; let c = points[2]; let d = points[3]; function findSlope(a, b, c, d) { if (c - a === 0) { return "undefined"; } else if (c - a !== 0) { let slope = (d - b) / (c - a); let answer = slope.toString(); return answer; } else { return "undefined"; } } console.log(findSlope(a, b, c, d)); }Está devolviendo 'undefined' , no undefined . Cambia esto y luego debería funcionar.