# 填充数组

使用 lodash _.fill 从起始索引到结束索引用值填充数组

> 标准页面: https://elysiatools.com/zh/tools/fill-array

- **分类:** Data Processing

- **关键词:** 数组, 填充, 替换, 填充, 值, lodash

## 概述

**数组填充工具**

此工具使用 lodash `_.fill()` 方法用指定值填充数组元素。

**功能特性：**
- 使用任意值（字符串、数字、布尔值、对象）填充数组元素
- 指定起始和结束位置进行部分填充
- 将值解析为 JSON 以进行正确的类型处理
- 支持嵌套数组和对象

**示例：**

1. **基本填充：**
   - 输入：`[1, 2, 3, 4, 5]`
   - 值：`*`
   - 起始：`1`，结束：`4`
   - 输出：`[1, '*', '*', '*', 5]`

2. **填充整个数组：**
   - 输入：`[null, null, null]`
   - 值：`"filled"`
   - 起始：`0`，结束：（留空）
   - 输出：`["filled", "filled", "filled"]`

3. **使用 JSON 解析：**
   - 输入：`[1, 2, 3]`
   - 值：`true`（勾选 parseValueAsJSON）
   - 输出：`[true, true, true]`（布尔值，非字符串）

## 输入项

- **数组** (textarea): \[1, 2, 3, 4, 5\]
- **填充值** (text): 0 或 "*" 或 "filled"
- **起始索引** (number): 0
- **结束索引** (number): 留空则填充到数组末尾
- **将值解析为 JSON** (checkbox)

## 适用场景

- 当需要将数组的特定范围（如索引 1 到 4）替换为相同值时。
- 当初始化数组为默认值（如将所有元素设为 null 或占位符）时。
- 当处理需要类型安全的值填充（如确保布尔值或对象被正确解析）时。

## 工作原理

- 输入一个数组和要填充的值（如字符串、数字或 JSON 对象）。
- 可选指定起始索引和结束索引，以定义填充范围；若留空，则填充整个数组。
- 可选择将值解析为 JSON，以确保值被正确识别为对应类型（如布尔值而非字符串）。
- 工具使用 lodash 的 _.fill 方法执行填充，并返回更新后的数组。

## 使用案例

- 数据预处理：将数组中的空值或占位符（如 null）替换为有效数据。
- 测试数据生成：快速创建具有特定值的数组，用于单元测试或模拟数据。
- 配置初始化：为应用程序设置默认数组值，如初始化用户列表或选项数组。

## 常见问题

### 支持哪些填充值类型？

支持字符串、数字、布尔值、对象等任意类型，可通过 JSON 解析确保类型正确。

### 如何只填充数组的一部分？

通过设置起始索引和结束索引来指定填充范围；例如，起始为 1、结束为 4 表示填充索引 1 到 3 的元素。

### 为什么需要勾选“将值解析为 JSON”？

以确保值被解析为对应类型（如布尔值 true 而非字符串 'true'），避免类型错误。

### 可以填充嵌套数组或对象吗？

是的，工具支持填充嵌套数组和对象，但需确保输入数组结构正确。

### 输出结果是什么格式？

输出是填充后的数组，以文本形式返回，例如 [1, '*', '*', '*', 5]。

## 相关工具

- [数组压缩工具](https://elysiatools.com/zh/tools/compact-array): 使用 lodash _.compact 从数组中移除假值
- [对象默认值](https://elysiatools.com/zh/tools/defaults-object): 使用 lodash _.defaults 为对象填充默认值
- [删除数组前N项](https://elysiatools.com/zh/tools/drop-items): 使用lodash _.drop删除数组的前N个元素
- [从右侧删除数组元素](https://elysiatools.com/zh/tools/drop-right-items): 使用 lodash 的 _.dropRight 从数组末尾删除 N 个元素
- [条件移除元素](https://elysiatools.com/zh/tools/drop-while): 使用 lodash 的 _.dropWhile 在满足条件时从数组开头移除元素
- [按深度扁平化数组](https://elysiatools.com/zh/tools/flatten-depth-array): 使用 lodash _.flattenDepth 按指定深度扁平化数组
- [从键值对构建对象](https://elysiatools.com/zh/tools/from-pairs): 使用 lodash _.fromPairs 将键值对数组转换为对象
- [最后一项](https://elysiatools.com/zh/tools/last-item): 使用 lodash _.last 获取数组的最后一项

## 示例

- [分布式追踪示例](https://elysiatools.com/zh/samples/distributed-tracing-samples): 使用 Jaeger、OpenTelemetry 和其他现代可观测性工具的综合分布式追踪示例，适用于微服务架构
- [AWS EventBridge 示例](https://elysiatools.com/zh/samples/eventbridge-samples): AWS EventBridge 示例，包括事件总线、规则、目标、模式注册表、自定义事件和跨账户事件路由，适用于无服务器事件驱动架构
- [JWT 示例](https://elysiatools.com/zh/samples/jwt-samples): 从基础令牌结构到高级安全实现的全面JWT示例
- [PDF示例](https://elysiatools.com/zh/samples/pdf-samples): 2026-02-01 到 2026-02-10 工具生成的PDF示例
