@supkiler

Как можно удалить одну функцию?

function getStringCount(obj) { 
  let countString = 0;
  function foo(object) {
    for (let i in object) { 
      if (typeof object[i] === "object") { 
        foo(object[i]);
      } else { 
        if (typeof object[i] === "string") { 
          countString++;
        } 
      } 
    } 
  }
  foo(obj)
  
  return countString; 
}

Как можно удалить функцию foo, чтобы всё работало, и переменная осталась внутри функции?
  • Вопрос задан
  • 103 просмотра
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Элементарно. Рекурсивно вызывать getStringCount и суммировать возвращённые значения.
function getStringCount(obj) {
  let countString = 0;
  for (let i in obj) {
    if (typeof obj[i] === "object") {
      countString += getStringCount(obj[i]);
    } else if (typeof obj[i] === "string") {
      countString += 1;
    }
  }
  return countString;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы