obj-del.ts 602 Bytes
Newer Older
hucy's avatar
hucy committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
/**
 * 删除对象的某个属性 返回一个删除后的新对象
 * @param data - 原始对象
 * @param key - 要删除的对象的属性的键名 'name' || ['name','age']
 **/
export const objDel = function (data: any, key: string | Array<any>) {
  const _data = JSON.parse(JSON.stringify(data));
  if (typeof key === 'string') {
    _data[key] = undefined;
  } else if (Array.isArray(key)) {
    for (const item of key) {
      _data[item] = undefined;
    }
  }
  const obj = {} as any;
  for (const key in _data) {
    if (_data[key]) {
      obj[key] = _data[key];
    }
  }
  return obj;
};