Test name | Executions per second |
---|---|
Array.every Array.includes | 102695384.0 Ops/sec |
Array.every Set.has with Set creation | 32997224.0 Ops/sec |
<!--your preparation HTML code goes here-->
function generateTestData(size) {
const items = Array.from({
length: size
}, (_, i) => ({
id: i,
name: `Item ${i}`
}));
// Randomly select ~75% of items
const selectedItems = items
.filter(() => Math.random() > 0.25)
.map(item => item.id);
return {
bill: {
items
},
selectedItems
};
}
const dataSizes = [100, 1000, 10000, 100000, 1000000];
var data = generateTestData(Math.floor(Math.random() * 5));
var bill = data.bill;
var selectedItems = data.selectedItems;
const allSelected = bill.items.every(({ id }) => selectedItems.includes(id));
return allSelected;
const allSelected = ((selected) =>
bill.items.every(({ id }) => selected.has(id))
)(new Set(selectedItems));
return allSelected;