AS
Size: a a a
AS
В
И
export function filterNull(obj: Record<string, any>) {Есть вот такая функция, как мне сделать еще, что-бы оно пустые объекты тоже удаляло?
const result = {...obj};
for (const key in result) {
const value = result[key];
if (value === null || value === undefined) {
delete result[key];
} else if (typeof value === 'object' && !Array.isArray(value)) {
if (Object.keys(value).length) {
result[key] = filterNull(value);
} else {
delete result[key];
}
}
}
return result;
}
Вキ
export function filterNull(obj: Record<string, any>) {Есть вот такая функция, как мне сделать еще, что-бы оно пустые объекты тоже удаляло?
const result = {...obj};
for (const key in result) {
const value = result[key];
if (value === null || value === undefined) {
delete result[key];
} else if (typeof value === 'object' && !Array.isArray(value)) {
if (Object.keys(value).length) {
result[key] = filterNull(value);
} else {
delete result[key];
}
}
}
return result;
}
И
Вキ
Вキ
Вキ
Вキ
function omitDeep(obj, predicate) {
let entries = Object.entries(obj);
entries = entries.filter(([_, v]) => predicate(v));
entries = entries.map(([_, v]) => isObject(v)
? [_, omitDeep(v, predicate)]
: [_, v]);
return Object.fromEntries(entries);
}
omitDeep(obj, isNotNull);
АР
И
Вキ
Вキ
function omitDeep(obj, predicate) {
let entries = Object.entries(obj);
entries = entries.filter(([_, v]) => predicate(v));
entries = entries.map(([_, v]) => isObject(v)
? [_, omitDeep(v, predicate)]
: [_, v]);
return Object.fromEntries(entries);
}
omitDeep(obj, isNotNull);
ДМ
Вキ
И
Вキ
Вキ
Вキ