pickExclude(obj, keys) { if (!['[object Object]', '[object File]'].includes(Object.prototype.toString.call(obj))) { return {} } return Object.keys(obj).reduce((prev, key) => { if (!keys.includes(key)) { prev[key] = obj[key] } return prev }, {}) },
时间: 2023-12-06 16:45:03 浏览: 84
一个友好的.改善的 Object.prototype.toString的实现
这是一个函数,功能是从一个对象中排除指定的键(keys)并返回一个新的对象。具体来说,它会接受两个参数:obj和keys。如果obj不是一个对象或者文件,那么函数会返回一个空对象。否则,函数会使用reduce方法遍历obj的所有键,如果这个键不在keys数组中,那么就将它添加到新的对象中。最后,函数返回这个新对象。
举个例子,如果我们有一个对象:
```
const obj = {
name: 'Alice',
age: 25,
email: 'alice@example.com'
}
```
如果我们想要排除name和age这两个键,那么我们可以这样调用这个函数:
```
const excluded = pickExclude(obj, ['name', 'age'])
console.log(excluded) // { email: 'alice@example.com' }
```
这样就会返回一个只包含email键的新对象。
阅读全文