我有一个 3x3 数组:
var my_array = [[0,1,2],
[3,4,5],
[6,7,8]];
并且想要获取它的第一个 2x2 block (或任何其他 2x2 block ):
[[0,1],
[3,4]]
使用 numpy 我会写:
my_array = np.arange(9).reshape((3,3))
my_array[:2, :2]
得到正确的结果。
我在 JavaScript 中尝试过:
my_array.slice(0, 2).slice(0, 2);
但是第二个切片影响第一个维度,但什么也不做。 我注定要使用 for 循环吗?还是有一些新的 ES6 语法可以让我的生活变得更简单?
最佳答案
可以使用 Array.slice
的组合和 Array.map
:
const input = [
[0, 1, 2],
[3, 4, 5],
[6, 7, 8]
];
const result = input.slice(0, 2).map(arr => arr.slice(0, 2));
console.log(result);
关于javascript - 数组索引选择类似于 numpy 但在 javascript 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52670377/