@evokegroup/extend
v1.1.3
Published
Combines two or more objects or arrays into the first
Downloads
44
Keywords
Readme
@evokegroup/extend
Combines two or more arrays or objects into the first.
extend(arguments)
| Parameter | Type | Default | Description |
| --------- | ---- | ------- | ----------- |
| 1 | boolean
| false
| Optional. true
if second argument contain function settings. |
| 2 | object
| See Settings | Required if the first argument is boolean
. The function settings. |
| ... | Array
, object
| | The arrays or objects to combine
Settings
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| allowNull | boolean
| false
| Allow a value of null
to override the object's property value |
| allowUndefined | boolean
| false
| Allow a value of undefined
to override the object's property value |
| deleteUndefined | boolean
| false
| Allow a value of undefined
to delete the object's property |
| allowEmptyStrings | boolean
| false
| Allow an empty string to override the object's property value |
| mergeArrays | boolean
| true
| Merge arrays |
| allowArrayDuplicates | boolean
| false
| Allow duplicate values in arrays |
Usage
const extend = require('@evokegroup/extend');
console.log(extend({
a: 1,
b: 2,
c: [1, 2, 3],
d: {
e: 5
},
g: 'hello world'
}, {
aa: 11,
b: null,
c: [1, 4],
d: {
f: 6
},
g: ''
})); // Expected result: {a: 1, b: 2, aa: 11, c: [1, 2, 3, 4], d: {e: 5, f: 6}, g: 'hello world'}
console.log(extend(true, {allowNull: true}, {
a: 1,
b: 2
}, {
b: null
})); // Expected result: {a: 1, b: null}
console.log(extend(true, {allowUndefined: true}, {
a: 1,
b: 2
}, {
b: undefined
})); // Expected result: {a: 1, b: undefined}
console.log(extend(true, {deleteUndefined: true}, {
a: 1,
b: 2
}, {
b: undefined
})); // Expected result: {a: 1}
console.log(extend(true, {allowEmptyStrings: true}, {
a: 1,
b: 'hello world'
}, {
b: ' '
})); // Expected result: {a: 1, b: ' '}
console.log(extend(true, {mergeArrays: false}, {
a: 1,
b: [1, 2, 3]
}, {
b: [1, 4]
})); // Expected result: {a: 1, b: [1, 4]}
console.log(extend(true, {allowArrayDuplicates: true}, {
a: 1,
b: [1, 2, 3]
}, {
b: [1, 4]
})); // Expected result: {a: 1, b: [1, 2, 3, 1, 4]}
console.log(extend([1, 2, 3], [1, 4])); // Expected result: [1, 2, 3, 4]
console.log(extend([], 1, 1, 2, 2, 3, 3, 4, 4)); // Expected result: [1, 2, 3, 4]