кодесурса
«JavaScript

JavaScript: упрощение заданного абсолютного пути для файла в стиле Unix

script1adsense2code
script1adsense3code

Базовый JavaScript: упражнение 142 с решением

Напишите программу на JavaScript, чтобы упростить заданный абсолютный путь к файлу в стиле Unix.

Пример решения:

HTML-код:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>Simplify a given absolute path for a file in Unix-style.</title>
</head>
<body>
</body>
</html>

Код JavaScript:

function simplify_path(main_path) {
  var parts = main_path.split('/'),
      new_path = [],
      length = 0;
  for (var i = 0; i < parts.length; i++) {
    var part = parts[i];
    if (part ==='.' || part === '' || part ==='..') {
      if (part ==='..' && length > 0) {
        length--;
      }
      continue;
    }
    new_path[length++] = part;
  }
  if (length === 0) {
    return '/';
  }
  var result = '';
  for (var i = 0; i < length; i++) {
    result +=  '/'+new_path[i] ;
  }
  return result;
}
console.log(simplify_path("/home/var/./www/../html//sql/"));

Пример вывода:

 / Главная / вар / HTML / SQL

Блок - схема:

«Блок-схема:

Версия ES6:

function simplify_path(main_path) {
  const parts = main_path.split('/');
  const new_path = [];
  let length = 0;
  for (var i = 0; i < parts.length; i++) {
    const part = parts[i];
    if (part ==='.' || part === '' || part ==='..') {
      if (part ==='..' && length > 0) {
        length--;
      }
      continue;
    }
    new_path[length++] = part;
  }
  if (length === 0) {
    return '/';
  }
  let result = '';
  for (var i = 0; i < length; i++) {
    result +=  `/${new_path[i]}` ;
  }
  return result;
}
console.log(simplify_path("/home/var/./www/../html//sql/"));

Демонстрация в реальном времени:

См. Pen javascript-basic-упражнение-142 от w3resource ( @ w3resource ) в CodePen .

Предыдущий: Напишите программу на JavaScript, чтобы найти количество элементов, представленных в обоих заданных массивах.
Далее: Напишите программу на JavaScript для сортировки строк заданного массива строк в порядке увеличения длины.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code