Сообщение от webgraph
|
недетерминированные результаты
|
Вот попробуйте
let genKeys = (n) => {
const keys = []
while (n--) {
const nkey = Math.round(Math.round() * 1_000_000);
const key = (''+nkey).padStart(7, '0');
keys.push(key)
}
return keys;
}
// Генерация ключей для заполнения
let keys = genKeys(1_000_000);
const obj = {};
const set = new Set();
// Проверка и добавление для Set
console.time('has_add_Set')
for (const key of keys)
if (!set.has(key)) set.add(key);
console.timeEnd('has_add_Set')
// Проверка и добавление для объекта
console.time('has_add_Obj')
for (const key of keys)
if (!(key in obj)) obj[key] = true;
console.timeEnd('has_add_Obj')
// Проверка и удаление для объекта
console.time('has_delete_Obj')
for (const key of keys)
if (key in obj) delete obj[key]
console.timeEnd('has_delete_Obj')
// Проверка и удаление для Set
t0 = performance.now();
console.time('has_delete_Set')
for (const key of keys)
if (set.has(key)) set.delete (key);
console.timeEnd('has_delete_Set')