mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-05 08:16:50 +08:00
Improve input validation of isDivisible
- Use Number.isFinite() for validation - Throw an error instead of returning a string - Instead of returning a string, return false when divisor === 0 since no numbers are in fact divisible by 0.
This commit is contained in:
@ -1,15 +1,15 @@
|
||||
// Checks if a number is divisible by another number.
|
||||
|
||||
const isDivisible = (num1, num2) => {
|
||||
if (isNaN(num1) || isNaN(num2) || num1 == null || num2 == null) {
|
||||
return 'All parameters have to be numbers'
|
||||
export const isDivisible = (num1, num2) => {
|
||||
if (!Number.isFinite(num1) || !Number.isFinite(num2)) {
|
||||
throw new Error('All parameters have to be numbers')
|
||||
}
|
||||
if (num2 === 0) {
|
||||
return 'Not possible to divide by zero'
|
||||
return false
|
||||
}
|
||||
return num1 % num2 === 0
|
||||
}
|
||||
|
||||
console.log(isDivisible(10, 5)) // returns true
|
||||
console.log(isDivisible(123498175, 5)) // returns true
|
||||
console.log(isDivisible(99, 5)) // returns false
|
||||
console.log(isDivisible(99, 5)) // returns false
|
Reference in New Issue
Block a user