UNPKG

strapi-plugin-content-manager

Version:

A powerful UI to easily manage your data.

46 lines (33 loc) 952 B
const removeKeyInObject = (obj, keyToRemove) => { if (!obj) { return obj; } return Object.keys(obj).reduce((acc, current) => { const value = acc[current]; if (value === null) { return acc; } if (Array.isArray(value)) { if (Array.isArray(acc)) { acc[current] = removeKeyInObject(value, keyToRemove); return acc; } return { ...acc, [current]: value.map(obj => removeKeyInObject(obj, keyToRemove)) }; } if (typeof value === 'object') { if (value._isAMomentObject === true) { return { ...acc, [current]: value }; } if (Array.isArray(acc)) { acc[current] = removeKeyInObject(value, keyToRemove); return acc; } return { ...acc, [current]: removeKeyInObject(value, keyToRemove) }; } if (current === keyToRemove) { delete acc[current]; } return acc; }, obj); }; export default removeKeyInObject;