Ассоциативный массив. Как найти значение через input удалить и добавить другое?

Решил подучить массивы и сразу тупик! Сам себе придумал задачу и пытаюсь реализовать... Хочу через input удалить значение массива (т.е. вводишь имя и если оно есть в списке удаляешь) далее вводишь другое и оно добавляется вместо того что удалил. Сразу же возникла проблема удаления. Почему не срабатывает удаление по нажатию на кнопку?

let arrayFamily = {
  father: "Slava",
  mather: "Sveta",
  firstChild: "Ksusha",
  secondChild: "Elisey",
  //TODO thirdChild: "Eseniya",
  fourthChild: "Borya"
};

let outArray = document.querySelector(".out-array-list");
let allOutItems = document.querySelectorAll("li.out-array-item strong");
let outArrayInput = document.querySelector(".out-array-input");
let outArrayInputId = document.getElementById("edit");
let add = document.querySelector(".add");
let remove = document.querySelector(".remove");
let reset = document.querySelector(".reset");

reset.onclick = () => {
  outArrayInput.value = "";
};

// arrayFamily.fourthChild = "";

remove.addEventListener("click", () => {
  arrayFamily.fourthChild = "";
});

let out = "";
for (let key in arrayFamily) {
  let itemI = document.createElement("li");
  itemI.classList.add("out-array-item");
  let itemIPerson = document.createElement("small");
  itemIPerson.classList.add("out-array-person");
  itemIPerson.textContent = key + ": ";
  let itemIName = document.createElement("strong");
  itemIName.classList.add("out-array-name");
  itemIName.textContent = arrayFamily[key];
  outArray.append(itemI);
  itemI.append(itemIPerson);
  itemI.append(itemIName);

  // out += `
  //    <li class="out-array-item">
  //        <small class="out-array-person">${key}: </small>
  //        <strong class="out-array-name">${arrayFamily[key]}</strong>
  //    </li>
  //    `;
}

// outArray.insertAdjacentHTML("beforeend", out);
.btn {
  font: 500 1.24em/1 "Poppins", Tahoma, Geneva, Verdana, sans-serif;
  text-transform: uppercase;
  border: 2px solid;
  cursor: pointer;
  outline: transparent;
  color: var(--text, #ffffff);
  background-color: var(--bg, var(--brand));
  padding: 0.5rem 1rem;
  -webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s;
  transition: color 0.4s ease 0s, background-color 0.4s ease 0s;
}

.btn:hover {
  color: var(--text-hover, #ffffff);
  background-color: var(--bg-hover, var(--brand-hover));
}

.btn[data-type="get"] {
  --text: #20c997;
  --bg: #d63384;
  --text-hover: #0d6efd;
  --bg-hover: #0dcaf0;
}

.btn[data-type="push"] {
  --bg: #33c3d6;
  --text-hover: #fd0ddd;
  --bg-hover: #f0bb0d;
}

.btn[data-type="reset"] {
  --bg: #33c3d6;
  --bg-hover: #e80df0;
}

.btn[data-type="add"] {
  --bg: #33d63b;
  --bg-hover: #0d2ff0;
}

.btn[data-type="remove"] {
  --bg: #d63333;
  --bg-hover: #438b00;
}

.block-third {
  width: min(100% - 1rem, 400px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding: 25px 0;
}

.block-third>* {
  isolation: isolate;
}

.family {
  font-size: 2em;
  font-weight: 500;
  text-transform: uppercase;
}

.out-array {
  align-self: flex-start;
}

.out-array-item:nth-child(1)::marker {
  content: "?";
}

.out-array-item:nth-child(2)::marker {
  content: "?";
}

.out-array-item:nth-child(3)::marker {
  content: "?";
}

.out-array-item:nth-child(4)::marker {
  content: "?";
}

.out-array-item:nth-child(5)::marker {
  content: "?";
}

.out-array-slot {
  position: relative;
  max-width: 300px;
  width: 100%;
  height: 50px;
  display: grid;
  grid-template-areas: "edit";
  align-items: center;
  border-radius: 6px;
  box-shadow: -5px -5px 15px rgba(255, 255, 255, 0.1), 5px 5px 15px rgba(0, 0, 0, 0.35);
}

.out-array-label {
  position: absolute;
  left: 10px;
  grid-area: edit;
  justify-self: flex-start;
  transition: all 0.4s ease 0s;
  z-index: 1;
}

.out-array-input {
  height: 100%;
  font-size: 1em;
  letter-spacing: 1.1px;
  border: 1px solid transparent;
  border-radius: 6px;
  outline: transparent;
  padding: 0 10px;
}

.out-array-input:valid,
.out-array-input:focus {
  border-color: var(--red);
}

.out-array-input:valid~.out-array-label,
.out-array-input:focus~.out-array-label {
  font-size: 0.8em;
  border: 1px solid var(--red);
  border-radius: 6px;
  color: var(--red);
  background: #ffffff;
  translate: -5px -25px;
  padding: 0 10px;
}
<section>
  <h2>Associative Arrays</h2>
  <div class="block-third box" style="--b:3;">
    <span class="family">family</span>
    <div class="out-array">
      <ul class="out-array-list"></ul>
    </div>
    <div class="log"></div>
    <div class="out-array-slot">
      <input class="out-array-input" id="edit" type="text" value="" required>
      <label class="out-array-label" for="edit">Edit list</label>
    </div>
    <div class="out-array-buttons">
      <button class="reset btn" type="button" data-type="reset">Reset</button>
      <button class="add btn" type="button" data-type="add">Add</button>
      <button class="remove btn" type="button" data-type="remove">Delete</button>
    </div>
  </div>
</section>


Ответы (0 шт):