---
title: "remove"
description: "根据 `id` 从树中移除一个节点及其所有子节点。 (此方法会**原地修改**传入的树数组)"
seo_title: "remove"
seo_description: "Remove a node from a tree by id and return the removed node, detaching its subtree from the parent in a single call."
canonical_url: "https://core.mhaibaraai.cn/docs/transformers/tree/remove"
---
# remove

> 根据 \`id\` 从树中移除一个节点及其所有子节点。 (此方法会\*\*原地修改\*\*传入的树数组)

## 用法

`remove` 方法根据节点 `id` 从树中移除一个节点及其所有子节点。此方法会 **原地修改** 传入的树数组。

```ts [example.ts]
import { Tree } from '@movk/core'

const tree = [{ id: 1, name: 'A', children: [{ id: 2, name: 'B' }] }]

Tree.remove(tree, 2)

/*
tree 将会是:
[{ id: 1, name: 'A', children: [] }]
*/
```

## API

`remove<T extends TreeNode>(tree: T[], id: number | string, config?: TreeConfig): boolean`

### 参数

**tree** (`T[]`) *required*: 源树形结构数组。

**id** (`number | string`) *required*: 需要移除的节点的 ID。

**config** (`TreeConfig`): 用于自定义树形结构中 id, pid, children 键名的配置对象。可选。指定节点唯一标识符的键名。默认为 "id"。可选。指定节点父级标识符的键名。默认为 "pid"。可选。指定子节点数组的键名。默认为 "children"。

### 返回值

**boolean**: 如果成功找到并移除了节点，则返回 true，否则返回 false。

## Changelog

See commit history for [src/transformers/tree/mutate.ts](https://github.com/mhaibaraai/movk-core/commits/main/src/transformers/tree/mutate.ts).


## Sitemap

See the full [sitemap](/sitemap.md) for all pages.
