JSFiddle - React, Tailwind, and code Playground

JavaScript

var jumper = [];
var arr = [4, 0, 0, 1];

function hopper(index) {
  if (index + arr[index] >= arr.length) {
    jumper[index] = true;
    return;
  } else {
    for (var i = index + 1; i <= index + arr[index]; i++) {
      if (jumper[i]) {
        jumper[index] = true;
        return;
      }
    }
    jumper[index] = false;
  }
}

function isReachable() {
  for (var j = arr.length - 1; j >= 0; j--) {
    hopper(j);
  }
  return jumper[0];
}

console.log(isReachable());