获取对象部分属性--记一次丢脸时刻

80 阅读1分钟

对于程序员来说好的代码才是门面,之前犯懒没思考,只顾实现就ok了.但是对于一个优秀的程序员来说,更少的代码实现更多的,更好的功能才是王道.因为公司新来同事看我写的代码,无疑是向他露出了咱的底裤,臊红了咱的老脸,这也鞭策我以后要写高质量代码.废话少说开始吧

解构赋值实现

const obj = { a: 1, b: 2, c: 3, d: 4 }
const { a, c } = obj
const newobj = { a, c }
console.log(newobj)

输出结果 { a: 1, c: 3 }

通过reduce实现

const obj = { a: 1, b: 2, c: 3, d: 4 }
const arr = ['a', 'c']
function mySubObj (arr, obj) {
  const newobj = arr.reduce((sum, curr) => {
    if (obj[curr]) {
      sum[curr] = obj[curr]
      return sum
    }
  }, {})
  return newobj
}

console.log(mySubObj(arr, obj))

输出结果{ a: 1, c: 3 }