La forma más eficiente parece ser usar
, de acuerdo con este punto de referencia: indexOf()
http://jsperf.com/string-substit…
El código es el siguiente (tenga en cuenta que no soy el autor original de este código):
function replace(str) { var outstr = '', start = -1, end = 0; while((end = str.indexOf('{', ++start)) > -1) { outstr += str.slice(start, end); start = end; if ((end = str.indexOf('}', start)) > -1) { outstr += obj[str.slice(start + 1, end)]; start = end; } } return outstr + str.slice(start); }
La función de
toma una cadena como parámetro y reemplaza cada aparición de replace
{something}
con el valor de
(tenga en cuenta que esto no funciona si obj["something"]
something
no es una clave del objeto
global). obj
El algoritmo es el siguiente:
- Preguntado por un no experto en tecnología, ¿qué tan impactante sería si una tecnología pudiera mitigar el ruido impulsivo en tiempo real usando un algoritmo no lineal simple que usa la mediana (en lugar de la media)? Por ejemplo, podría usarse para reemplazar filtros lineales analógicos en teléfonos móviles, esencialmente actuando como un filtro lineal a menos que detecte ruido impulsivo y actúe para condicionarlo.
- ¿Qué debe hacer un principiante para aprender algoritmos y programación básica, como la programación en C?
- ¿Cuáles son las ventajas y desventajas de comparar la búsqueda de árboles de Monte Carlo y la programación dinámica aproximada?
- ¿Cuál es la mejor estrategia para obtener una solución óptima para cualquier problema de codificación solicitado en la entrevista de codificación?
- Dados n puntos en un plano 2D, ¿cómo encontrarías el número máximo de puntos que se encuentran en la misma línea recta? Proporcione un algoritmo para resolver este problema.
// esto es pseudocódigo Deje que S1 sea la cadena de entrada Deje que S2 sea la cadena de salida (vacía al principio) Deje que Start y End sean índices numéricos de S1, comenzando en -1 y 0, respectivamente Deje que Obj sea el objeto donde se almacenan los valores reemplazados. Si bien hay un carácter '{' en S1 después de Start + 1 do: inicio incremental establezca End en el índice del carácter '{' agregue la parte de S1 entre Inicio y Fin a S2 Establecer inicio a fin Si hay un carácter '}' en S1 después de Inicio, haga lo siguiente: Establezca Fin en el índice del carácter '}' Agregue Obj [Clave] a S2, donde Clave es la parte de S1 entre Inicio + 1 y Fin, por ejemplo, la parte entre '{' y '}' Establecer fin para comenzar terminara si finMientras devuelve S2 concatenado a la parte de S1 entre Inicio y el final de la cadena