65 lines
1.2 KiB
Markdown
65 lines
1.2 KiB
Markdown
# shallow-copy
|
|
|
|
make a shallow copy of an object or array
|
|
|
|
[![testling badge](https://ci.testling.com/substack/shallow-copy.png)](https://ci.testling.com/substack/shallow-copy)
|
|
|
|
[![build status](https://secure.travis-ci.org/substack/shallow-copy.png)](http://travis-ci.org/substack/shallow-copy)
|
|
|
|
# example
|
|
|
|
you can copy objects shallowly:
|
|
|
|
``` js
|
|
var copy = require('shallow-copy');
|
|
|
|
var obj = { a: 3, b: 4, c: [5,6] };
|
|
var dup = copy(obj);
|
|
dup.b *= 111;
|
|
dup.c.push(7);
|
|
|
|
console.log('original: ', obj);
|
|
console.log('copy: ', dup);
|
|
```
|
|
|
|
and you can copy arrays shallowly:
|
|
|
|
``` js
|
|
var copy = require('shallow-copy');
|
|
|
|
var xs = [ 3, 4, 5, { f: 6, g: 7 } ];
|
|
var dup = copy(xs);
|
|
dup.unshift(1, 2);
|
|
dup[5].g += 100;
|
|
|
|
console.log('original: ', xs);
|
|
console.log('copy: ', dup);
|
|
```
|
|
|
|
# methods
|
|
|
|
``` js
|
|
var copy = require('shallow-copy')
|
|
```
|
|
|
|
## copy(obj)
|
|
|
|
Return a copy of the enumerable properties of the object `obj` without making
|
|
copies of nested objects inside of `obj`.
|
|
|
|
If `obj` is an array, the result will be an array.
|
|
If `obj` is an object, the result will be an object.
|
|
If `obj` is not an object, its value is returned.
|
|
|
|
# install
|
|
|
|
With [npm](https://npmjs.org) do:
|
|
|
|
```
|
|
npm install shallow-copy
|
|
```
|
|
|
|
# license
|
|
|
|
MIT
|