javascript - 数组索引选择类似于 numpy 但在 javascript 中

标签 javascript arrays numpy multidimensional-array indexing

我有一个 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/

相关文章:

javascript - 从动态弹出内容中获取元素 ID

javascript - Cloudfront 和 Lambda@Edge : Remove response header

c++ - 如何有效地从数组中提取唯一值?

C程序打印奇怪的字符

java - 如何将值存储在二维数组中以供以后使用?

javascript - 复选框选中所有选项

javascript - SlickGrid 列选择器 : Setting the default columns to display from a larger list

Python:列表与 np.array:切换到使用某些属性

python - 使用python,如何使用字典更改列表的值

python - 如何在 numpy.polyfit 中包含测量误差