Test case details

Preparation Code

Test cases

Test #1

const myList = []; const entries = []; function addToMyList(element) { myList.push(element); if(myList.length > 20) { myList.shift(); } } for(let i = 0; i < 100; i++) { addToMyList(entries[i] = { id: i }); }

Test #2

const myList = []; const entries = []; function addToMyList(element) { myList.unshift(element); if(myList.length > 20) { myList.pop(); } } for(let i = 0; i < 100; i++) { addToMyList(entries[i] = { id: i }); }

Test #3

const myList = []; const entries = []; let index = 0; function addToMyList(element) { if(myList.length == 20) { myList[index++] = element; index %= 20; } else { myList.push(element); } } for(let i = 0; i < 100; i++) { addToMyList(entries[i] = { id: i }); }

Test #4

const mySet = new WeakSet(); const entries = []; function addToMyList(element) { mySet.add(element); } for(let i = 0; i < 100; i++) { addToMyList(entries[i] = { id: i }); }