Как удалить часть значения объекта 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 к строковому типу, так как используется строгое сравнение.