Write a function that takes a sentence as input and reverses each word within the sentence individually while maintaining the original word order and spacing.
Input: str = "Hey Aman is that correct way to reverse words of a string"
Output: "yeH namA si taht tcerroc yaw ot esrever sdrow fo a gnirts"
function reverseEachWordUsingSplitMapJoin(sentence) {
return sentence.split(" ")
.map(word => word.split("").reverse().join(""))
.join(" ");
}function reverseEachWordUsingForLoop(sentence) {
let words = sentence.split(" ");
for (let i = 0; i < words.length; i++) {
words[i] = words[i].split("").reverse().join("");
}
return words.join(" ");
}function reverseEachWordUsingForOfLoop(sentence) {
const words = sentence.split(" ");
const reversedWords = [];
for (const word of words) {
reversedWords.push(word.split("").reverse().join(""));
}
return reversedWords.join(" ");
}function reverseEachWordUsingReduce(sentence) {
return sentence.split(" ")
.reduce((acc, word) => acc + (acc ? " " : "") + word.split("").reverse().join(""), "");
}function reverseEachWordUsingArrayFromForEach(sentence) {
return sentence
.split(" ")
.map((word) => Array.from(word).reverse().join(""))
.join(" ");
}function reverseEachWordUsingMapSplitReverse(sentence) {
return sentence
.split(" ")
.map((word) => [...word].reverse().join(""))
.join(" ");
}function reverseEachWordUsingSplitReverseReduce(sentence) {
return sentence.split(" ")
.map(word => word.split("").reverse().join(""))
.reduce((acc, word) => acc + (acc ? " " : "") + word, "");
}function reverseEachWordUsingSplitManual(sentence) {
return sentence.split(" ")
.map(word => {
let reversedWord = "";
for (let i = word.length - 1; i >= 0; i--) {
reversedWord += word[i];
}
return reversedWord;
})
.join(" ");
}function reverseEachWordUsingReplace(sentence) {
return sentence.replace(/\S+/g, word => word.split("").reverse().join(""));
}function reverseEachWordUsingSplitForJoin(sentence) {
const words = sentence.split(" ");
const reversedWords = [];
for (let i = 0; i < words.length; i++) {
let reversedWord = "";
for (let j = words[i].length - 1; j >= 0; j--) {
reversedWord += words[i][j];
}
reversedWords.push(reversedWord);
}
return reversedWords.join(" ");
}