Javascript Algorithms and Data Structures Challenge: Day 8
Direction: How to remove the last char appeared in a sentence.
Example: Remove last “n” from “How to remove the last empty space in a sentence.” beomes “How to remove the last empty space in a sentece.”
Solution 1:
- Convert into array of chars
- Reverse
- Remove 1st
- Convert back
let s="Hello, wold";String.prototype.reverse= function () {
return this.split('').reverse().join('');
}String.prototype.removeFirst=function (c){
return this.replace(c,'');
}s=s.reverse();
s=s.removeFirst('l');
s=s.reverse();
console.log(s)
//"Hello, wod"
Solution 2:
- Convert to array
- Remove
- Rejoin
let s="Hello, wolld";function removeLast(str, c){
const arr=s.split(c);
const newString=arr.reduce((a, v, i, r)=>{
if( i === (r.length-1)){
return a+v;
}
if( i === (r.length-2)){
return a+v;
}
return a+v+c;
},'') return newString;}console.log(removeLast(s, 'l'));
Solution3:
- splice method
- join
let s="Hello, wolld";function removeLast(str, c){
let arr=s.split('');
let lastIndex, newArr, newStr;
for(let i=0; i<arr.length;i++){
let tmp=arr[i];
if(tmp===c){
lastIndex=i;
}
}
if(lastIndex){
arr.splice(lastIndex, 1);
newStr=arr.join('');
}return newStr;}console.log(removeLast(s, 'l'))