Exercise 1: Safe Number Input (string → number) + Sum
Problem Statement
Create a function `sum(a, b)` that accepts inputs as string or number. The function should strictly convert to number and return the sum. Return `null` for invalid input.
Example:
- sum("10", "5") → 15
- sum("10a", 5) → null
Sample Output:
sum("10","5") => 15
sum("10a",5) => nullSolution
const toNum = (v) => {
const n = Number(v);
return Number.isFinite(n) ? n : null;
};
const sum = (a, b) => {
const x = toNum(a), y = toNum(b);
return x === null || y === null ? null : x + y;
};Explanation
Overall Goal:
- User se input string ya number me aa sakta hai (form inputs hamesha string hote hain).
- Safely number me convert karke add karna hai.
- Invalid input (jaise "10a") ho to
nullreturn karna hai.
Line 1-2: Helper function `toNum`
const toNum = (v) => {→ ek helper function jo kisi bhi value ko safely number me convert karega.const n = Number(v);→Number()constructor use karke conversion try karte hain.Number("10")→ 10 (valid number)Number("10a")→ NaN (Not a Number, invalid)Number(5)→ 5 (already number, same hi return)
Line 3: Validation
return Number.isFinite(n) ? n : null;Number.isFinite(n)check karta hai:- Agar
nek finite number hai (10, 5.5, -3) →true - Agar
nNaN ya Infinity hai →false - Ternary operator
? :→ valid ho tonreturn, warnanull.
Line 5-6: Main `sum` function
const sum = (a, b) => {→ main function jo dono inputs ko add karega.const x = toNum(a), y = toNum(b);→ dono inputs kotoNumse convert karkexauryme store.- Comma operator
,use kiya hai taaki ek line me dono variables declare kar sakein.
Line 7: Final check aur addition
return x === null || y === null ? null : x + y;x === null || y === null→ agar koi bhi input invalid ho (null aaya ho)- Agar koi invalid hai →
nullreturn (safe failure). - Agar dono valid hain →
x + yreturn (normal addition).
Real world:
- Form inputs hamesha string me aate hain (document.getElementById("input").value).
- User "10a" type kar sakta hai, isliye validation zaroori hai.
- E-commerce carts, calculators, age verification me ye pattern daily use hota hai.
Navigation
Previous
No previous exercise
Next
Exercise 2