js 删除Object中指定的key

const isObject = (obj) => obj === Object(obj)
const isNil = (val) => val === undefined || val === null
const isEmpty = (val) => {
  return isString(val) || isObject(val) || Array.isArray(val) ?
  !Object.keys(val).length : isNil(val)
}
const isString = (val) => typeof val === 'string'
const delObjByKey= (obj = {}, arr = []) => {
  if (isEmpty(obj) || !isObject(obj)) return {}
  if (isEmpty(arr) || (!Array.isArray(arr) && !isString(arr))) return obj

  return Object.keys(obj)
    .filter((k) => !arr.includes(k))
    .reduce((acc, key) => ((acc[key] = obj[key]), acc), {})
}
  • delObjByKey({ a: 1, b: ‘2’, c: 3 }, [‘b’]) // { ‘a’: 1, ‘c’: 3 }
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐