Быстрые операции с массивами JavaScript - PullRequest
5 голосов
/ 26 июня 2010

Какие-либо браузеры в настоящее время поддерживают или планируют поддерживать быстрые математические операции с массивами, аналогичные тем, что 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) и оптимизирована специально для математических операций над массивом.

Ответы [ 3 ]

2 голосов
/ 26 июня 2010

Я так не думаю, но Google, безусловно, заинтересован в том, чтобы раздвинуть границы возможного в Javascript. Если вы заинтересованы в безопасном запуске собственного кода в браузере, вы можете взглянуть на NaCl .

1 голос
/ 09 июля 2010

Я оригинальный постер, но я решил поделиться тем, с чем столкнулся. WebGL (реализации уже ведутся Mozilla и WebKit, см. Урок 0 на веб-сайте learningwebgl.com) представляет нечто, называемое «типизированные массивы», и это то, что я искал. Спецификация доступна в https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/doc/spec/TypedArray-spec.html.

0 голосов
/ 04 ноября 2015

Вы можете использовать встроенный 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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...