# 数组反转

使用 lodash _.reverse 反转数组顺序

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

- **分类:** Data Processing

- **关键词:** 数组, 反转, 顺序, 翻转, lodash

## 概述

反转 JSON 数组中元素的顺序。

**亮点：**
- 在克隆数组上使用 lodash `_.reverse`
- 保留数据类型和嵌套结构
- 返回 JSON 形式的结果

**示例：**
- 数组：`[1, 2, 3]`
- 结果：`[3, 2, 1]`

## 输入项

- **数组** (textarea): 输入 JSON 数组

## 适用场景

- 当您需要将一组数据（如时间序列、排名列表）的顺序完全颠倒时。
- 在数据处理或前端开发中，需要快速调整数组元素的显示或处理顺序时。
- 在算法练习或数据结构操作中，需要获取一个数组的反向副本进行后续计算时。

## 工作原理

- 在输入框中粘贴或输入一个有效的 JSON 数组。
- 工具在后台克隆该数组，并对其应用 lodash 的 `_.reverse` 方法。
- 处理完成后，页面将直接显示反转顺序后的新 JSON 数组结果。

## 使用案例

- 数据预处理：在将按时间正序排列的日志数据发送给图表库前，将其反转为倒序以显示最新记录在前。
- 前端开发：快速反转一个从 API 获取的列表数据，以改变其在页面上的默认显示顺序。
- 算法练习：在实现某些算法（如回文检测、栈模拟）时，快速获得输入数组的反向副本进行测试。

## 常见问题

### 这个工具会修改我原来的数组吗？

不会。工具在操作前会先克隆原始数组，所有反转操作都在副本上进行，您的原始输入数据保持不变。

### 它支持嵌套数组或对象数组吗？

支持。工具会保留数组内所有元素的数据类型和嵌套结构，无论是数字、字符串、对象还是嵌套数组，都会被整体反转顺序。

### 输入必须是严格的 JSON 格式吗？

是的。输入必须是一个有效的 JSON 数组，例如 `[1, 2, 3]` 或 `[{"a":1}, {"b":2}]`。格式错误将无法处理。

### 处理非常大的数组会卡顿吗？

对于常规大小的数组（如几千个元素），处理是瞬间完成的。但对于极大数组，性能取决于您的浏览器和设备。

### 除了数组，还能反转字符串或对象吗？

不能。本工具专门用于反转数组。如果您需要反转字符串，可以使用字符串处理工具；对象本身没有顺序，因此无法反转。

## 相关工具

- [深度扁平化数组](https://elysiatools.com/zh/tools/flatten-deep-array): 使用 lodash _.flattenDeep 完全扁平化数组
- [路径取值](https://elysiatools.com/zh/tools/get-path): 使用 lodash _.get 按路径取值
- [按键分组](https://elysiatools.com/zh/tools/group-by): 使用 lodash _.groupBy 按派生键分组
- [获取首个元素](https://elysiatools.com/zh/tools/head-item): 使用 lodash _.head 获取数组的第一个元素
- [查找索引](https://elysiatools.com/zh/tools/index-of): 使用 lodash _.indexOf 查找值在数组中的索引
- [获取除最后一个元素](https://elysiatools.com/zh/tools/initial-items): 使用 lodash _.initial 获取除最后一个元素外的所有元素
- [数组交集](https://elysiatools.com/zh/tools/intersection-arrays): 使用 lodash _.intersection 查找多个数组的共同值
- [第 N 项](https://elysiatools.com/zh/tools/nth-item): 使用 lodash _.nth 获取指定索引的元素

## 示例

- [Grafana 高级应用示例](https://elysiatools.com/zh/samples/grafana-samples): 全面的 Grafana 示例，涵盖高级仪表板设计、告警配置、数据源集成和插件开发
- [二维码示例](https://elysiatools.com/zh/samples/qrcode-samples): 用于测试二维码读取和生成工具的示例二维码图像
- [D3.js 数据可视化示例](https://elysiatools.com/zh/samples/d3js-data-visualization): 全面的D3.js数据可视化示例，包括图表、地图、动画和交互式可视化
- [Rome JavaScript 工具链示例](https://elysiatools.com/zh/samples/rome): Rome JavaScript 工具链示例，包括配置、代码检查、格式化、打包和项目管理
