In place words reversing

by Alex Myronov

JavaScript

const reverseChars = (arr, indexStart, indexEnd) => {
	let start = indexStart
  let end = indexEnd
	while (start++ < end--) {
  	const temp = arr[start]
    arr[start] = arr[end]
    arr[end] = temp
  }
  return arr
}

const reverse = (str) => {
  const arr = message.split('')
  const reversed = reverseChars(arr, -1, arr.length)

  let i = 0
  let j = 0
  while (j <= arr.length) {
    if (arr[j] === ' ' || j === arr.length) {
    	reverseChars(reversed, i - 1, j)
      j++
      i = j
    } else {
    	j++
    }
  }
  
  return reversed.join('')
}

const message = 'hey there you'
console.log(reverse(message))