1- const numberInput = document . getElementById ( ' numberInput' ) ; //number input
2- const powerInput = document . getElementById ( ' powerInput' ) ; //power input
3- const result = document . getElementById ( ' result' ) ; //result display
4- const option = document . getElementById ( ' option' ) ; //option selection
1+ const numberInput = document . getElementById ( " numberInput" ) ; //number input
2+ const powerInput = document . getElementById ( " powerInput" ) ; //power input
3+ const result = document . getElementById ( " result" ) ; //result display
4+ const option = document . getElementById ( " option" ) ; //option selection
55let mode = option . value ;
6- function calculateSumOfDigits ( ) { //calculate sum of digits
7- const number = parseFloat ( numberInput . value ) ; //get number value from input
8- const power = parseInt ( powerInput . value , 10 ) ; //get power value from input
9- if ( isNaN ( number ) ) { //if entered number is not a number
10- result . textContent = 'Please enter a valid number.' ;
11- }
12- const sum = calculateSum ( number ) ; //calculate sum of entered number
13- result . textContent = sum ; //display result
6+ function calculateSumOfDigits ( ) {
7+ //calculate sum of digits
8+ const number = parseFloat ( numberInput . value ) ; //get number value from input
9+ const power = parseInt ( powerInput . value , 10 ) ; //get power value from input
10+ if ( isNaN ( number ) ) {
11+ //if entered number is not a number
12+ result . textContent = "Please enter a valid number." ;
13+ }
14+ const sum = calculateSum ( number ) ; //calculate sum of entered number
15+ result . textContent = sum ; //display result
1416}
15- function calculateSumOfAllDigits ( number , power ) { //calculate sum of all digits
16- const numberString = number . toString ( ) . split ( 'e' ) [ 0 ] . replaceAll ( '.' , '' ) . replaceAll ( '-' , '' ) ; //remove non digit characters to avoid errors
17- let sum = 0 ; //initialize sum
18- for ( let i = 0 ; i < numberString . length ; i ++ ) { //repeat for each digit
19- const digit = parseInt ( numberString [ i ] , 10 ) ; //convert string to integer
20- sum += digit ** power ; //get power of digit then add digit to sum
21- }
22- return sum ; //return sum of all digits
17+ function calculateSumOfAllDigits ( number , power ) {
18+ //calculate sum of all digits
19+ const numberString = number
20+ . toString ( )
21+ . split ( "e" ) [ 0 ]
22+ . replaceAll ( "." , "" )
23+ . replaceAll ( "-" , "" ) ; //remove non digit characters to avoid errors
24+ let sum = 0 ; //initialize sum
25+ for ( let i = 0 ; i < numberString . length ; i ++ ) {
26+ //repeat for each digit
27+ const digit = parseInt ( numberString [ i ] , 10 ) ; //convert string to integer
28+ sum += digit ** power ; //get power of digit then add digit to sum
29+ }
30+ return sum ; //return sum of all digits
2331}
2432
25- function calculateSumOfIntegerDigits ( number , power ) { //calculate sum of integer digits
26- const integerString = parseInt ( number , 10 ) . toString ( ) . replaceAll ( '.' , '' ) . replaceAll ( '-' , '' ) ; //remove non digit characters to avoid errors
27- let sum = 0 ; //initialize sum
28- for ( let i = 0 ; i < integerString . length ; i ++ ) { //repeat for each digit
29- const digit = parseInt ( integerString [ i ] , 10 ) ; //convert string to integer
30- sum += digit ** power ; //get power of digit then add digit to sum
31- }
32- return sum ; //return sum of integer digits
33+ function calculateSumOfIntegerDigits ( number , power ) {
34+ //calculate sum of integer digits
35+ const integerString = parseInt ( number , 10 )
36+ . toString ( )
37+ . replaceAll ( "." , "" )
38+ . replaceAll ( "-" , "" ) ; //remove non digit characters to avoid errors
39+ let sum = 0 ; //initialize sum
40+ for ( let i = 0 ; i < integerString . length ; i ++ ) {
41+ //repeat for each digit
42+ const digit = parseInt ( integerString [ i ] , 10 ) ; //convert string to integer
43+ sum += digit ** power ; //get power of digit then add digit to sum
44+ }
45+ return sum ; //return sum of integer digits
3346}
3447
35- function calculateSum ( number ) { //calculate sum function
36- if ( mode === 'sumOfDigits' ) { //if mode is sum of digits
37- return calculateSumOfAllDigits ( number ) ; //return sum of all digits
38- } else if ( mode === 'sumOfIntegerDigits' ) { //else if mode is sum of integer digits
39- return calculateSumOfIntegerDigits ( number ) ; //return sum of integer digits
40- }
41- }
48+ function calculateSum ( number ) {
49+ //calculate sum function
50+ if ( mode === "sumOfDigits" ) {
51+ //if mode is sum of digits
52+ return calculateSumOfAllDigits ( number ) ; //return sum of all digits
53+ } else if ( mode === "sumOfIntegerDigits" ) {
54+ //else if mode is sum of integer digits
55+ return calculateSumOfIntegerDigits ( number ) ; //return sum of integer digits
56+ }
57+ }
0 commit comments