{"ScriptPreparationCode":"var div = document.createElement(\u0027div\u0027);\r\nfor (let i = 0; i \u003C 1000; i\u002B\u002B) {\r\n div.insertAdjacentHTML(\u0027beforeend\u0027, \u0060\u003Cspan\u003Espan-${i}\u003Cspan\u003E\u0060);\r\n}\r\n\r\nvar list = div.querySelectorAll(\u0027span\u0027);","TestCases":[{"Name":"Default For","Code":"for(let i = 0; i \u003C list.length; i\u002B\u002B) {\r\n list[i].setAttribute(\u0027tabindex\u0027, \u0027-1\u0027);\r\n}","IsDeferred":false},{"Name":"forEach","Code":"list.forEach(item =\u003E {\r\n item.setAttribute(\u0027tabindex\u0027, \u0027-1\u0027);\r\n});","IsDeferred":false},{"Name":"For with length caching","Code":"for(let i = 0, length = list.length ; i \u003C length; i\u002B\u002B) {\r\n list[i].setAttribute(\u0027tabindex\u0027, \u0027-1\u0027);\r\n}","IsDeferred":false},{"Name":"toArray (Array.prototype.slice) and for with caching","Code":"const list2 = Array.prototype.slice.call(list);\r\nfor(let i = 0, length = list2.length ; i \u003C length; i\u002B\u002B) {\r\n list2[i].setAttribute(\u0027tabindex\u0027, \u0027-1\u0027);\r\n}","IsDeferred":false},{"Name":"toArray (Array.prototype.slice) and for-of","Code":"const list2 = Array.prototype.slice.call(list);\r\nfor(const item of list2) {\r\n item.setAttribute(\u0027tabindex\u0027, \u0027-1\u0027);\r\n}","IsDeferred":false},{"Name":"toArray (Array.from) and for","Code":"const list2 = Array.from(list);\r\nfor(let i = 0, length = list2.length ; i \u003C length; i\u002B\u002B) {\r\n list2[i].setAttribute(\u0027tabindex\u0027, \u0027-1\u0027);\r\n}","IsDeferred":false}]}