我正在寻找一种高性能的方式来裁剪二维数组。考虑这个例子:
我有一个构成 100x100 网格的二维数组。我只想退回一部分,60x60。这是执行此操作的“一种”方式的示例,但我正在寻找指向执行此操作的最高效方式的指针。
// Settings
var gridWidth = 100;
var gridHeight = 100;
// Populate Grid
var grid = [];
for(var i = 0; i<gridWidth; i++){
grid[i] = [];
for(var j = 0; j<gridHeight; j++){
grid[i][j] = 0;
}
}
// Crop Grid
var rect = {x:20,y:20,w:60,h:60};
var crop = [];
for(var i = rect.x; i<rect.x+rect.w; i++){
crop[i-rect.x] = [];
for(var j = rect.y; j<rect.y+rect.h; j++){
crop[i-rect.x][j-rect.y] = grid[i][j];
}
}
任何想法都非常感谢...
约翰