2016-03-04 84 views
0

我正在使用称为Javascript Clipper的JS库进行多边形操作。如从说明书中所述,坐标的输入路径的格式是这样的如下,Javascript Clipper中路径输入的格式

var paths = [[{X:30,Y:30},{X:130,Y:30},{X:130,Y:130},{X:30,Y:130}], 
       [{X:60,Y:60},{X:60,Y:100},{X:100,Y:100},{X:100,Y:60}]]; 

我的问题是,如何转换规则的JS阵列,说 var x = [40, 100, 1, 5, 25, 10]var y= [22, 32, 11, 45, 75, 19]上面所示的所需的格式?实际情况是,这些坐标点不会手动输入,而是从另一个函数中获得,其输出的格式不是JavaScript Clipper Library所需的格式。

回答

0

事情是这样的:

function makePath(xVals, yVals) { 
    var pathArray = []; 
    xVals.forEach(function(xVal, index) { 
     var yVal = yVals[index]; 
     var coordObj = {xVal, yVal}; 
     pathArray.push(coordObj); 
    }) 
    return pathArray; 
} 

你可以传递你的数组,X和Y,为makePath(x,y)获得组合阵列出来。

我的方法假定数组x和y的长度是相同的。