JS Fundamentals Same Numbers
някой може ли малко помощт немога разбера къде греша дава ми 83/100 Judge
function solve(input) {
let number = ('' + input).split('');
let sum = 0;
let chek = true;
for (let i = 1; i < number.length; i += 2) { let firstNum = Number(number[i]);
let secondNum = Number(number[i - 1]); if (firstNum !== secondNum)
{ chek = false }
}
for (let i = 0; i < number.length; i++) { number[i] = Number(number[i])
sum += number[i];
} if (chek === true)
{ console.log(true)
} else {
console.log(false)
}
console.log(sum);
}
Здравейте, може ли малко помощ - не мога да разбера защо при положение, че правилно ми се сумират числата от string масива, ми показва, че digits не са еднакви (а те са еднакви - 222222 примерно). И реално това е условието на задачата - да сметнем сумата от digits и да изпишем на конзолата дали са еднакви.
function checkForTheSameDigits(input){
input = String(input);
let areTheSame = true;
let sum = 0;
for(let i = 0; i < input.length; i++ ){
if(input[i] !== input[i+1]){
areTheSame = false;
}
sum += Number(input[i]);
}
console.log(areTheSame);
console.log(sum);
}
checkForTheSameDigits(2222)
Hi Eli,
Check inside of your for-loop with the debugger, at the last iteration when you compare if(input[i] !== input[i+1]), where i + 1 will be out of range and the result will be therefore undefined, which is why you are getting a false result. Number comparison needs to be stopped at one step before the loop has ended => if (i < input.length - 1)
;-)
Hi @ Axiomatik , how are you? I hope you are doing well! :)
Thanks for your explanation. I understand why my solution is not valid and added some correction:
function checkForTheSameDigits(input){
input = String(input);
let areTheSame = true;
let sum = 0;
for(let i = 0; i < input.length - 1; i++ ){
if(input[i] !== input[i+1]){
areTheSame = false;
}
sum += Number(input[i]);
}
sum += Number(input[input.length-1]);
console.log(areTheSame);
console.log(sum);
}
Best regards!
Eli