Js 如何找到一个二维坐标系中所有极值点 最大坐标 和 最小坐标
时间: 2024-11-04 22:15:17 浏览: 30
在 JavaScript 中,要找到二维数组(可以视为平面直角坐标系中的点集合)中的最大坐标和最小坐标,你可以通过遍历数组并比较每个点的坐标来完成。这里是一个简单的步骤:
1. 初始化两个变量 `maxX` 和 `maxY` 用于存储最大 x 和 y 坐标,以及两个变量 `minX` 和 `minY` 存储最小 x 和 y 坐标。初始时,将它们分别设置为数组的第一个元素的 x 和 y。
```javascript
let maxX = arr[0][0];
let maxY = arr[0][1];
let minX = arr[0][0];
let minY = arr[0][1];
```
2. 遍历二维数组 `arr` 的每一个点,对比当前点的坐标与当前记录的最大、最小坐标。如果发现新的最大值,更新 `maxX` 和 `maxY`;如果发现新的最小值,更新 `minX` 和 `minY`。
```javascript
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr[i].length; j++) {
if (arr[i][j][0] > maxX) { maxX = arr[i][j][0]; }
if (arr[i][j][1] > maxY) { maxY = arr[i][j][1]; }
if (arr[i][j][0] < minX) { minX = arr[i][j][0]; }
if (arr[i][j][1] < minY) { minY = arr[i][j][1]; }
}
}
```
3. 遍历结束后,`maxX`, `maxY`, `minX`, `minY` 就分别保存了二维坐标系中的最大 x, y 坐标和最小 x, y 坐标。
完整的函数示例如下:
```javascript
function findMinMax(arr) {
let maxX = arr[0][0];
let maxY = arr[0][1];
let minX = arr[0][0];
let minY = arr[0][1];
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr[i].length; j++) {
if (arr[i][j][0] > maxX) { maxX = arr[i][j][0]; }
if (arr[i][j][1] > maxY) { maxY = arr[i][j][1]; }
if (arr[i][j][0] < minX) { minX = arr[i][j][0]; }
if (arr[i][j][1] < minY) { minY = arr[i][j][1]; }
}
}
return [maxX, maxY, minX, minY];
}
// 使用示例
const points = [[1, 2], [3, 4], [5, 6]];
console.log(findMinMax(points)); // 输出:[5, 6, 1, 2]
```
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://img-home.csdnimg.cn/images/20250102104920.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)