Сравнение производительности: Array of Array vs Array of Object - PullRequest
0 голосов
/ 06 марта 2019

Мне иногда нужна модель списка для хранения множества различных элементов с общей структурой, например, при использовании списка 2D-координат или списка значений RGB.

Принимая пример значений RGB, яесть два способа сохранить каждый элемент в массиве:

// using small Array
var arrayOfArray = [[0, 0, 0], [110, 120, 130], ...]

// using Object
var arrayOfObject = [{r: 0, g: 0, b: 0}, {r: 110, g: 120, b: 130}, ...]

После того, как массив определен, мне нужно выполнить некоторые операции: выполнить каждый элемент, получить или установить определенное значение элемента, сравнить дваэлементы и т. д.

Однако я не уверен, какой метод лучше всего подходит для производительности.Лучше использовать маленький массив или использовать объект?

Я рассмотрел использование плоского массива с типизированными значениями (как определено в MDN ), как это imageданные хранятся в Canvas, но я бы предпочел одну из приведенных выше структур.

Я создал контрольный пример JSPerf для сравнения двух и первых результатов ( 06/03/19 ) указывают на то, что использование массива объектов происходит быстрее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...