gpt4 book ai didi

javascript - 交换任意 3D 数组值

转载 作者:行者123 更新时间:2023-12-03 02:32:19 25 4
gpt4 key购买 nike

我有以下数组:

array = [[[1,2],[4,5]],[[6,7],[8,9]]];

我希望得到以下结果:

easyArray = [[[2,1],[5,4]],[[7,6],[9,8]]];

我试过了

function swapCoordinates(array){
var a=0;
var b=0;
for (j=0;j<array[0].length;j++){
for (k=0;k<array[0][0].length;k++){
var swap = array[a][b][0];
array[a][b][0] = array[a][b][1];
array[a][b][1] = swap
console.log(a);
a++;
console.log(b);

}
console.log(a);
console.log(b);
b++

}

return array;
}

问题是,我不知道如何正确增加 b 以获得例如数组[1,0,0] ...

我做错了什么?

最佳答案

您可以使用递归方法检查该项目是否是一个数组,其中包含另一个数组。

然后映射数组或返回交换的项目。

var array = [[[1, 2], [4, 5]], [[6, 7], [8, 9]]],
swapped = array.map(function swap(a) {
return Array.isArray(a) && Array.isArray(a[0])
? a.map(swap)
: a.slice().reverse();
});

console.log(swapped);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 交换任意 3D 数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48685061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com