UNPKG

736 BJavaScriptView Raw
1var keys = require('./keys')
2
3var slice = require('./slice')
4var includes = require('./includes')
5var arrayEach = require('./arrayEach')
6
7var assign = require('./assign')
8
9/**
10 * 将一个或者多个对象值解构到目标对象
11 *
12 * @param {Object} destination 目标对象
13 * @param {...Object}
14 * @return {Boolean}
15 */
16function destructuring (destination, sources) {
17 if (destination && sources) {
18 var rest = assign.apply(this, [{}].concat(slice(arguments, 1)))
19 var restKeys = keys(rest)
20 arrayEach(keys(destination), function (key) {
21 if (includes(restKeys, key)) {
22 destination[key] = rest[key]
23 }
24 })
25 }
26 return destination
27}
28
29module.exports = destructuring