> For the complete documentation index, see [llms.txt](https://docs.wirebootstrap.com/wirebootstrap/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wirebootstrap.com/wirebootstrap/utilities/copy-and-merge.md).

# Copy and Merge

## Copy

Use the `wire.copy` function to make a deep copy of an object or Array.

```javascript
let data = { product: "SKU001", month: "May", sales: 300 }

const dataCopy = wire.copy(data);
```

## Merge

Use the `wire.merge` function to merge the values of one object into another.  This function take two parameters.  The first is the `target` and the second is the `source`. All  properties and their values on the source object will be copied into the target object.  If a target property already exists, it will be overwritten by the same on the source.  If not, it will be left alone.

In the example below, the `target` variable values of `product` and `sales` will be replaced with those from the `source` variable but will leave the `month` attribute alone.

```javascript
let source = { product: "SKU001", month: "May", sales: 300 }
let target = { product: "SKU431", sales: 500 }

wire.merge(target, source);

// target = { product: "SKU001", month: "May", sales: 300 }
```
