假设我有一个这样的 2D 数组:
[ 3, 4, 8, 12 ]
[ 2, 6, 7, 16 ]
[ 1, 10, 11, 15 ]
[ 5, 9, 13, 14 ]
我想在[1][1]
shift
6
并将其unshift
到[2][1]
中,以便得到以下内容:
[ 3, 4, 8, 12 ]
[ 2, 7, 11, 16 ]
[ 1, 6, 10, 15 ]
[ 5, 9, 13, 14 ]
我想我会splice(1,1)
第二个和第三个数组来获得:
a: [6, 7]
b: [10, 11]
然后做:
b.unshift(a.shift)
a << b.pop
给定这个数组:
ary = [
[ 3, 4, 8, 12 ],
[ 2, 6, 7, 16 ],
[ 1, 10, 11, 15 ],
[ 5, 9, 13, 14 ]
]
您可以通过并行分配来完成:
ary[2][1], ary[1][1], ary[2][2], ary[1][2] = ary[1][1], ary[1][2], ary[2][1], ary[2][2]
也许你可以把它变成一种方法。