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
  </head>
5
  <body>
6
  </body>
7
</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));
  • structuredClone(origArr)

     
    newArr = structuredClone(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())
    structuredClone(origArr)

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36
Chrome 118 on Windows
View result in a separate tab
Test name Executions per second
angular.copy() 772346.3 Ops/sec
JSON.parse(JSON.stringify()) 265098.7 Ops/sec
structuredClone(origArr) 141748.2 Ops/sec