我有一个包含坐标对列表的多维数字数组:
var coordinates = [
[
16.383223226146004,
48.21122334186088
],
[
16.384753966103307,
48.211128793925674
],
[
16.384923422642906,
48.211127770652936
],
[
16.38575514277135,
48.21122830416087
]...
为数组中的所有条目切换坐标对的性能最高的选项是什么。坐标列表可能很长,因此我正在寻找快速工作的解决方案。
预期结果:
coordinates = [
[
48.21122334186088,
16.383223226146004
],
[
48.211128793925674,
16.384753966103307
],
[
48.211127770652936
16.384923422642906,
],
[
48.21122830416087,
16.38575514277135
]...
答案 0 :(得分:3)
使用Array reverse功能
coordinates.forEach(function (coordinate) {
coordinate.reverse();
})
答案 1 :(得分:2)
为数组中的所有条目切换坐标对的最佳性能是什么!
一般来说,最快的通常是最简单的常规循环,只需设置数组索引
for (var i=coordinates.length; i--;) {
var temp = coordinates[i][0];
coordinates[i][0] = coordinates[i][1];
coordinates[i][1] = temp;
}
这是一个测试不同方法的JSPerf
http://jsperf.com/switch-elements
比forEach
和reverse
这是一个巨大的差异,而这段代码更改了数组中的索引,其中1000个数组几乎 500k次 ,代码使用forEach
和{{1只执行17k次。