javascript - 将点数组转换为 SVG 的线坐标为 x1、y1、x2、y2
问题描述
我有一个点数组作为[0, 0, 30, 0, 30, 20, 60, 20, 60, 40, 0, 40, 0, 0]
. 我希望它们像x1, y1, x2, y2
SVG 线坐标。这样我就从他们那里得到了 6 行。
它应该是这样的:
- line1 与 x1, y1, x2, y2 坐标 -
0,0,30,0
- 第 2 行 -
30, 0,30,20
- 第 3 行 -
30,20,60,20
- 第 4 行 -
60,20,60,40
- 第 5 行 -
60,40, 0,40
- 第 6 行 -
0, 40, 0, 0
任何类型的循环技术?
解决方案
如果您对索引有点小心,您可以通过for
循环逐步完成。您只需按两步迭代,然后在每次迭代中取四个元素。您还需要提前停止循环 2 元素,因为您不希望从最后两个元素开始的组。
我不确定您想要数据的确切格式,但这应该很容易改变您的目的:
let coords = [0, 0, 30, 0, 30, 20, 60, 20, 60, 40, 0, 40, 0, 0]
let lines = []
for(let i = 0; i < coords.length - 2; i += 2){ // step by 2, stop early
let [x1, x2, y1, y2] = coords.slice(i, i+4) // take four elements
lines.push({x1, x2, y1, y2})
}
console.log(lines)
推荐阅读
- java - 如何使用 Mockito 进行系统测试?我们应该吗?
- numpy - array = numpy.fromfile(fp, dtype=dtype, count=count) Python 3.6 Spyder 中的 MemoryError
- amazon-web-services - 适用于 vpc 终端节点的 AWS Terraform 目标组
- javascript - 使用 for 循环和数组创建动态锚标记生成器函数
- json - 使用 RapidAPI 的 ContextualWeb News API 的 python 客户端
- java - JAVA:在一组边中查找多边形
- pandas - 如何按条件将 Json 转换为 pandas
- c# - *.CSV 文件中的表格第一列为空
- python - Python:如何使用 subprocess.call 等待进程返回码
- php - 有折扣的 WooCommerce Access 订单