cleanObj - 从对象中删除属性
优质
小牛编辑
129浏览
2023-12-01
从 JSON 对象删除除了指定属性之外的任何其他属性。
使用 Object.keys()
方法遍历给定的 JSON 对象并删除给定数组中不包含的 keys 。 如果你传递一个特殊的键 childIndicator
,它也会深入地将这个函数应用到内部对象中。
const cleanObj = (obj, keysToKeep = [], childIndicator) => { Object.keys(obj).forEach(key => { if (key === childIndicator) { cleanObj(obj[key], keysToKeep, childIndicator); } else if (!keysToKeep.includes(key)) { delete obj[key]; } }); return obj; };
const testObj = { a: 1, b: 2, children: { a: 1, b: 2 } }; cleanObj(testObj, ['a'], 'children'); // { a: 1, children : { a: 1}}