
- Javascript Basics Tutorial
- Javascript - Home
- Javascript - Overview
- Javascript - Syntax
- Javascript - Enabling
- Javascript - Placement
- Javascript - Variables
- Javascript - Operators
- Javascript - If...Else
- Javascript - Switch Case
- Javascript - While Loop
- Javascript - For Loop
- Javascript - For...in
- Javascript - Loop Control
- Javascript - Functions
- Javascript - Events
- Javascript - Cookies
- Javascript - Page Redirect
- Javascript - Dialog Boxes
- Javascript - Void Keyword
- Javascript - Page Printing
- JavaScript Objects
- Javascript - Objects
- Javascript - Number
- Javascript - Boolean
- Javascript - Strings
- Javascript - Arrays
- Javascript - Date
- Javascript - Math
- Javascript - RegExp
- Javascript - HTML DOM
- JavaScript Advanced
- Javascript - Error Handling
- Javascript - Validations
- Javascript - Animation
- Javascript - Multimedia
- Javascript - Debugging
- Javascript - Image Map
- Javascript - Browsers
- JavaScript Useful Resources
- Javascript - Questions And Answers
- Javascript - Quick Guide
- Javascript - Functions
- Javascript - Resources
Corresponding shortest distance in string in JavaScript
Problem
We are required to write a JavaScript function that takes in a string of English lowercase alphabets, str, as the first argument and a single character, char, which exists in the string str, as the second argument.
Our function should prepare and return an array which, for each character in string str, contains its distance from the nearest character in the string specified by char.
For example, if the input to the function is
Input
const str = 'somestring'; const char = 's';
Output
const output = [0, 1, 2, 1, 0, 1, 2, 3, 4, 5]
Example
Following is the code −
const str = 'somestring'; const char = 's'; const shortestDistance = (str = '', char = '') => { const res = new Array(str.length).fill(Infinity) let prev = Infinity const handleIndex = (i) => { if (str[i] === char) { prev = i } res[i] = Math.min(res[i], Math.abs(i - prev), ) } for (let i = 0; i < str.length; i++) { handleIndex(i) } prev = Infinity for (let i = str.length - 1; i >= 0; i--) { handleIndex(i) } return res } console.log(shortestDistance(str, char));
Output
[ 0, 1, 2, 1, 0, 1, 2, 3, 4, 5 ]
- Related Articles
- Shortest distance between objects in JavaScript
- Finding shortest word in a string in JavaScript
- Find the shortest string in an array - JavaScript
- Shortest Word Distance II in C++
- Shortest Word Distance III in C++
- Get the longest and shortest string in an array JavaScript
- Shortest Distance to Target Color in C++
- Shortest Distance from All Buildings in C++
- Finding hamming distance in a string in JavaScript
- How to find the shortest distance to a character in a given string using C#?
- Shortest path algorithms in Javascript
- Distance to nearest vowel in a string - JavaScript
- Converting number of corresponding string without using library function in JavaScript
- Shortest Way to Form String in C++
- Encode String with Shortest Length in C++

Advertisements