con $ location.search (): cómo eliminar un parámetro de la url cuando es nulo

$location.search() para establecer una url

el parámetro de búsqueda que se pasa a lasearch() Se establece mediante un formulario. seleccionar y deseleccionar un elemento hace que algunos valores de los parámetros sean "nulos" y, por lo tanto, la url se vea así:

myapp.com/search?type=text&parameter=null

así que me gustaría eliminar esos parámetros "nulos" de la url. En la documentación, hay un "paramValue" que se puede pasar como segundo parámetro a .search (search, paramValue):Si el valor esnull, el parámetro será borrado.

pero no puedo hacer que esto funcione ... ¿alguna sugerencia?

editar: Aquí hay una solución basada en la explicación de @BKM.

para eliminar todos los parámetros que sonnull, es necesario recorrer todos ellos y probar cada uno, así:

for (var i in search) {
    if (!search[i]) $location.search(i, null);
}
$location.search(search);

Respuestas a la pregunta(3)

Su respuesta a la pregunta