在 JavaScript 中 Numpy.eye 是怎么做的?

How do you do Numpy.eye in JavaScript?

如何在JavaScript中创建np.eye函数?或者 JavaScript 中的 numpy.eye 等价物是什么?

我想要一个创建二维“单位矩阵”的函数,您可以更改行数、列数和对角线的索引。 https://numpy.org/devdocs/reference/generated/numpy.eye.html

这不包括 M,N,k @安迪

function eye(n){
var t=[];
for(var i=0;i<n;i++){
var p=[]
for(var j=0;j<n;j++){
p.push(j==i?1:0)
}
t.push(p)
}}

This doesn't take care of M,N,k

你快到了,只需要将额外的参数放在那里,比如外循环(行)运行到 N,内循环(列)运行到 M,然后比较将是 j-i===k:

function eye(N,M,k) {
  var t = [];
  for (var i = 0; i < N; i++) {
    var p = []
    for (var j = 0; j < M; j++) {
      p.push(j - i === k ? 1 : 0)
    }
    t.push(p)
  }
  return t;
}

let NMk=prompt("N,M,k").split(",").map(x=>parseInt(x));
console.log(eye(...NMk).map(x=>x.join()));

尝试在询问时输入 3,3,0(“经典”)或 2,3,1(“奇特”)之类的内容。
(不要担心片段打印字符串,这只是 join() ,以保持输出小,并且没有太多编码)。