JavaScript: Simplify a given absolute path for a file in Unix-style
JavaScript Basic: Exercise-142 with Solution
Write a JavaScript program to simplify a given absolute path for a file in Unix-style.
Sample Solution:
HTML Code:
<!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 Code:
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/"));
Sample Output:
/home/var/html/sql
Flowchart:
ES6 Version:
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/"));
Live Demo:
See the Pen javascript-basic-exercise-142 by w3resource (@w3resource) on CodePen.
Improve this sample solution and post your code through Disqus
Previous: Write a JavaScript program to find the number of elements which presents in both of the given arrays.
Next: Write a JavaScript program to sort the strings of a given array of strings in the order of increasing lengths.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
JavaScript: Tips of the Day
How to insert an item into an array at a specific index (JavaScript)?
What you want is the splice function on the native array object.
arr.splice(index, 0, item); will insert item into arr at the specified index (deleting 0 items first, that is, it's just an insert). In this example we will create an array and add an element to it into index 2:
var arr = []; arr[0] = "Jani"; arr[1] = "Hege"; arr[2] = "Stale"; arr[3] = "Kai Jim"; arr[4] = "Borge"; console.log(arr.join()); arr.splice(2, 0, "Lene"); console.log(arr.join());
Ref: https://bit.ly/2BXbp04
- New Content published on w3resource:
- HTML-CSS Practical: Exercises, Practice, Solution
- Java Regular Expression: Exercises, Practice, Solution
- Scala Programming Exercises, Practice, Solution
- Python Itertools exercises
- Python Numpy exercises
- Python GeoPy Package exercises
- Python Pandas exercises
- Python nltk exercises
- Python BeautifulSoup exercises
- Form Template
- Composer - PHP Package Manager
- PHPUnit - PHP Testing
- Laravel - PHP Framework
- Angular - JavaScript Framework
- Vue - JavaScript Framework
- Jest - JavaScript Testing Framework