Как удалить часть значения объекта JS?

Всем привет! Понимаю, что решение на поверхности, но не вижу его)) Как удалить цифру пять из объекта, используя только ES5?

  var obj = { alpha: "1", delta: "o2,3a", gamma: "a4,5,6" };
function removeDigit(number) {
  for (var key in obj) {
    return obj[key].indexOf(number) !== -1
      ? obj[key]
          .split(",")
          .filter((i) => i !== number)
          .join(",")
      : obj[key];
  }
console.log(obj);
}

removeDigit(5);

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

Автор решения: p1uton

Как правильно написал Pavel Grishaev, нужно заменять значение в объекте, а не возвращать его:

var obj = { alpha: "1", delta: "o2,3a", gamma: "a4,5,6" };

function removeDigit(number) {
  for (var key in obj) {
    obj[key] = obj[key].indexOf(number.toString()) !== -1
      ? obj[key]
          .split(",")
          .filter((i) => i !== number.toString())
          .join(",")
      : obj[key];
  }
  console.log(obj);
}

removeDigit(5);

Также нужно приводить number к строковому типу, так как используется строгое сравнение.

→ Ссылка