当前任何浏览器是否支持或计划支持快速数组运算,类似于NumPy为Python提供的内容?这是一个展示我的意思的例子:
var a = new NumericArray('uint32', [1, 2, 3, 4]);
var b = new NumericArray('uint32', [2, 2, 2, 2]);
var c = a.add(b); // c == [3, 4, 5, 6]
在该示例中,add
并不代表用JavaScript实现的函数。这写起来是微不足道的。它旨在表示用C语言编写的函数(或编写JavaScript实现的任何语言),并专门针对数组上的数学运算进行优化。
答案 0 :(得分:2)
我不这么认为,但谷歌肯定有兴趣推动Javascript可能的限制。如果您有兴趣在浏览器中安全地运行本机代码,可能需要查看NaCl。
答案 1 :(得分:1)
我是原始海报,但我想我会分享一些我遇到过的东西。 WebGL(Mozilla和WebKit正在实施的实现,请参阅learningwebgl.com上的第0课)介绍了一种名为“Typed Arrays”的东西,这是我正在寻找的东西。该规范可在https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/doc/spec/TypedArray-spec.html获得。
答案 2 :(得分:0)
您可以使用内置的JavaScript array.map方法
var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);
// roots is now [1, 2, 3], numbers is still [1, 4, 9]