我有一段非常好的Python代码,但尝试将其移植到JavaScript上并不容易。
jsonLine = [[0,1],[2,4],[4,8],[9,12],[11,16],[12,13]]
[firstX, firstY] = [9,12]
if [firstX, firstY] in jsonLine:
index = jsonLine.index([firstX, firstY])
lineArray.append(jsonLine[index:])
lineArray.append(jsonLine[index::-1])
jsonLine是由坐标组成的数组,用于表示一条线路,[firstX,firstY] 是用户定义的该线路上的起始点。我正在编写一个脚本,以该用户选择点为中心创建两条线路,分别朝着不同的方向延伸,稍后这些线路将被根据与用户点的距离进行切割。
在此情况下期望的输出结果为:
[[[9,12],[11,16],[12,13]],[[9,12],[4,8],[2,4],[0,1]]]
以下是我拥有的JavaScript代码,它可以获取所需数组中的第一个,但使用for循环感觉不太对,如果我使用jsonLine.reverse().slice(featureArray.length-vertex)
,似乎会复制推送到lineArray的数组。有没有更干净的方法来切片并反转数组?
for (var vertex = 0; vertex < featureArray.length; vertex++){
if (jsonLine[vertex][0] === firstX && jsonLine[vertex][1] === firstY) {
console.log(jsonLine.slice(vertex))
}
for (var vertex = featureArray.length - cut; vertex--; ){ ...
- adeneo[jsonLine.slice(vertex),jsonLine.slice(vertex).reverse()]
。 - RobGlineArray = ([[featureArray.slice(vertex)],[featureArray.reverse().slice(featureArray.length - vertex)]])
可以解决这个问题,谢谢。 - hansolo[[featureArray.slice(vertex)],[featureArray.slice(0,vertex + 1).reverse()]]
。 - RobG