Javascript Clipper 中路径输入的格式
Format of the Path input in the Javascript Clipper
我正在使用名为 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要求的格式。
像这样:
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 的长度相同。
我正在使用名为 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要求的格式。
像这样:
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 的长度相同。