对于程序员来说好的代码才是门面,之前犯懒没思考,只顾实现就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 }