Какой способ быстрее скопировать массив объектов: слайс или клон? - PullRequest
2 голосов
/ 08 февраля 2012

Это связано с: Как передать значение вместо ссылки на массив?

Мне нужно отправить значение вместо ссылки на массив.На этот вопрос я получил 2-3 правильных ответа.Один - использовать слайс, второй (и третий был похож) - использовать клон или сделать свою собственную функцию клона.

Из (очень) быстрого теста кажется, что слайс был быстрее (тестировался на массиве из 100 000 элементов).).Но у меня нет никакого объяснения этому.

Может кто-нибудь уточнить, если и почему срез быстрее?

1 Ответ

5 голосов
/ 08 февраля 2012

Функция clone, представленная в этом ответе, очень общая (также довольно плохая; никогда, никогда никогда не добавляет перечисляемые свойства в Object.prototype, а также есть другие проблемы) и реализован на JavaScript. Напротив, в ответе slice используется встроенная функция движка JavaScript, которая может быть написана в сильно оптимизированном машинном коде. (Или нет, конечно.)

...