Recorrer cada personaje en la cadena como Aaron sugirió es el más rápido:
function lastIndexOf(str, char) { var i = str.length; for (; i > -1; i--) { if (str.charAt(i) === char) { return i; } } return -1; }
También puede usar una función de reemplazo de expresiones regulares, aunque esto es más lento:
function lastIndexOf(str, char) { var index = -1; str.replace(new RegExp(char + '[^' + char + ']*$'), function (str, offset) { index = offset; }); return index; }
Esto coincide con cualquier letra “l” seguida de cero o más caracteres que no sean la letra “l”. Como no asignamos el valor de retorno de la llamada replace()
a nada, se descarta, pero podemos usar el desplazamiento de coincidencia pasado a la función de reemplazo como queramos.
- ¿Qué Apache debo ejecutar?
- ¿Por qué usamos compositor en Laravel?
- ¿Cuál es el procedimiento para crear un sitio web?
- Cómo crear un fragmento de JavaScript que se pueda incrustar en una página web para mostrar solo la mitad de la página y mostrar un formulario sobre ella
- ¿Cuáles son las ventajas de usar la plantilla Handlebars sobre Underscore.js?
Si la cadena no contiene una coincidencia, nunca se llamará a la función de reemplazo.
Puede leer más sobre las funciones de reemplazo en MDC: https://developer.mozilla.org/en…