HTML Preparation code:
AخA
 
1
<html>
2
  <head>
3
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
4
  <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
5
  </head>
6
  <body>
7
  </body>
8
</html>
Script Preparation code:
x
 
var origArr = [
 {
  name  : "obj1",
  val   : 1,
  color : "blue"
 },
  {
  name  : "obj2",
  val   : 2,
  color : "red"
 },
  {
  name  : "obj3",
  val   : 3,
  color : "green"
 },
  {
  name  : "obj4",
  val   : 4,
  color : "orange"
 }
];
var newArr = [];
Tests:
  • angular.copy()

     
    newArr = angular.copy(origArr);
  • JSON.parse(JSON.stringify())

     
    newArr = JSON.parse(JSON.stringify(origArr));
  • _.colneDeep()

     
    newArr = _.cloneDeep(origArr);
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    angular.copy()
    JSON.parse(JSON.stringify())
    _.colneDeep()

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 4 years ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36
Chrome 88 on Mac OS X 10.15.6
View result in a separate tab
Test name Executions per second
angular.copy() 606540.1 Ops/sec
JSON.parse(JSON.stringify()) 279215.8 Ops/sec
_.colneDeep() 330022.2 Ops/sec