Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript nump.zeros_Javascript - Fatal编程技术网

Javascript nump.zeros

Javascript nump.zeros,javascript,Javascript,是否有一个javascript等价于numpy的zeros,它返回一个填充了元素0的多维数组 具体而言,我希望能够做到以下几点: x = js.zeros(3,5) 并且具有x=[[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0]] 单内衬是否可以实现这一点,或者我是否必须手动创建x,然后手动填充和推动内部阵列?可以通过使用ES2015功能的中等可读性内衬实现: let matrix = Array.from(new Array(3), _ => Array(5).fil

是否有一个javascript等价于numpy的
zeros
,它返回一个填充了元素0的多维数组

具体而言,我希望能够做到以下几点:

x = js.zeros(3,5)
并且具有
x=[[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0]]


单内衬是否可以实现这一点,或者我是否必须手动创建
x
,然后手动填充和推动内部阵列?

可以通过使用ES2015功能的中等可读性内衬实现:

let matrix = Array.from(new Array(3), _ => Array(5).fill(0));
作为一个广义函数

let zeros = (w, h, v = 0) => Array.from(new Array(h), _ => Array(w).fill(v));
参考资料:


没有内置的或单行的方法来做这样的2d数组,但是有一种方法可以做1d,它可以有效地单行,但是它是EM6
array.from(新数组(3),\u=>array(5.fill(0))
注意@zerkms也是EM6我不知道为什么人们会投反对票。。。对我来说,这似乎是一个合理的问题。@zerkms考虑到大问题“这项技术的规范已经定稿,但请检查兼容性表中各种浏览器的使用情况和实现状态。”注意,在它们的顶部,我不认为这些是“完全可以接受的”,但可能这只是IMO:)。此外,chrome最早列出的支持此功能的版本是v45,在撰写本文时,@TinyGiant+@zerkms我想指出的是,babeljs仍然使用
.fill
作为“兼容”版本,尽管它仍然具有我和@TinyGiant指出的相同限制。同样,写下这个“1行程序”,然后转过身来,通过一些(无法)使它兼容的东西来运行它是没有意义的。。这一点违背了让它成为一行的意义。@Crayon暴力:“写下这一行然后转过来运行它是没有意义的”——这很有意义。在运行之前可以“编译”代码。这就是编写C#或Java时要做的事情。“这一点使它不能成为一艘客轮”——它一点也没有。用户可以自由选择是否使用现代标准或1990年的标准进行构建,但javascript没有编译,这显然不是OP所要求的。事实上,
.fill
.from
都不是标准,甚至对于所有最新的主流浏览器版本,它们都不具备跨浏览器兼容性,更不用说所有web开发人员目前都在努力保持与之兼容的事实上的早期版本了。事实上,无意冒犯,我真的很难相信有人会和你一样推销这样的答案。这不是任何真正的web开发人员在不久的将来都会在现实世界中实际使用的解决方案