javascript – Cómo reiniciar una función para que no se acumulen los objetos creados

Estoy creando un link, y lo estoy agregando con appendChild al div con id box pero cada vez que ingreso un nombre este se va acumulando ¿Cómo hago para que no se acumule si no que al ingresar un nuevo nombre se ‘reinicie’ la function y sólo quede el recién creado? Aclaro que esto es un ejemplo de lo que busco, ya que tengo un app creada el cual es un buscador y todo lo que encuentra lo agrega con appendChild y sería imposible por tiempo, cambiar todo el código.

var text = document.getElementById("text");
var add = document.getElementById("add");

var box = document.getElementById("box");

add.onclick = function() {

var a = document.createElement("a");
a.href = "#";

a.innerText = text.value;

box.appendChild(a);

}
<input id="text" type="text" placeholder="Pon un nombre al link...">
<button id="add">Crear Link</button>


<div id="box"></div>