var menu = {
width: 200,
height: 300,
title: "My menu"
};
function multiplyNumeric(obj) {
for (var key in obj) {
if (typeof (obj[key] == 'number')) {
delete obj[key];
}
}
}
multiplyNumeric(menu);
console.log(menu)
нужно удалить свойство если его значение число, или строка, в зависимости от условия
У Вас лишние скобки в условии:
if (typeof (obj[key] == 'number')) {
Выражение typeof (obj[key] == 'number') сводится к typeof(true) или typeof(false) и возвращает строку "boolean", в результате if всегда выполняется и удаляются все значения из obj
Рабочий пример:
var menu = {
width: 200,
height: 300,
title: "My menu"
};
function multiplyNumeric(obj) {
for (var key in obj) {
if (typeof obj[key] === 'number') {
delete obj[key];
}
}
}
multiplyNumeric(menu);
console.log(menu)
var menu = {
width: 200,
height: 300,
title: "My menu"
};
function multiplyNumeric(obj) {
const v = {};
for (var key in obj) {
if (typeof obj[key] !== 'number') {
v[key] = obj[key];
// Не изменит старый обект если надо изменить просто замени v[key] = obj[key] на delete obj[key];
}
}
return v;
}
console.log(multiplyNumeric(menu));
console.log(menu);
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости