Javascript Clipper中Path输入的格式

时间:2016-03-04 12:04:13

标签: javascript arrays polygon

我正在使用一个名为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所需的格式。

1 个答案:

答案 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的长度相同。