我正在使用一个名为Javascript Clipper的JS库来进行多边形操作。如手册中所述,输入路径的坐标格式如下所示,
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 :(得分: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的长度相同。