# replaceOrAppend

URL: https://caijiao.org/radash/array/replace-or-append
Source: docs/radash/array/replace-or-append.md
Description: 替换数组中的项目，如果没有匹配项则追加 给定一个项目数组、一个项目和一个标识函数，返回一个新数组，其中项目要么在现有项目的索引处被替换（如果存在），要么被追加到...

替换数组中的项目，如果没有匹配项则追加


## 基本用法

给定一个项目数组、一个项目和一个标识函数，返回一个新数组，其中项目要么在现有项目的索引处被替换（如果存在），要么被追加到末尾。

```ts
import { replaceOrAppend } from 'radash'

const fish = [
  {
    name: 'Marlin',
    weight: 105
  },
  {
    name: 'Salmon',
    weight: 19
  },
  {
    name: 'Trout',
    weight: 13
  }
]

const salmon = {
  name: 'Salmon',
  weight: 22
}

const sockeye = {
  name: 'Sockeye',
  weight: 8
}

replaceOrAppend(fish, salmon, f => f.name === 'Salmon') // => [marlin, salmon (weight:22), trout]
replaceOrAppend(fish, sockeye, f => f.name === 'Sockeye') // => [marlin, salmon, trout, sockeye]
```
