Подсчёт нулей в конце строки

182
09 сентября 2021, 16:10

Не знаю, как сделать так, чтобы функция считала только нули в конце, а нули между обычными числами с двух сторон игнорировала. То есть результат ввода '450700' должен быть 2, а не 3.

    let count = 0; 
    function checkZero(result) { 
        for (let j = result.length; j >= 0; j--) { 
            if (result[j] === '0') count++; 
        } 
        console.log(count); 
    } 
    checkZero('450700');

Answer 1

function checkZero(result) { 
  let count = 0; 
  for (let j = result.length - 1; j >= 0; j--) { 
    if (result[j] === '0') 
      count++; 
    else 
      break; 
  } 
  console.log(count); 
  return count; 
} 
checkZero('450700');

Answer 2

Можно еще и с помощью регулярных выражений, так:

console.log('4500790900'.match(/[0]*$/)[0].length);

Answer 3

Наверное, чуть быстрее :)

function checkZero(result) { 
  let j = result.length - 1; 
  while (j >= 0 && result.charAt(j) === '0') j--; 
  console.log(result.length-1 - j); 
  return result.length-1 - j; 
} 
checkZero('450700');

READ ALSO
Как переключаться между вкладками в браузере с помощью скрипта?

Как переключаться между вкладками в браузере с помощью скрипта?

Работаю с расширением (плагином) для браузера, и нужно сделать скрипт, который будет переключать на любую, нужную мне вкладку в браузере, например...

178
Как остановить setInterval в данном случае?

Как остановить setInterval в данном случае?

Мне нужно остановить данный setInterval через 3 секундыПодскажите пожалуйста как это реализовать ?

165