Добрый день
Написал два скрипта с замером времени поиска.
Search by object
let obj = {}
for(let i =0; i<1000; i++){
obj['i'+i]=i
}
console.time('time')
for(let i =0; i<1000; i++){
const objResult = obj['i'+i];
}
console.timeEnd('time')
time: 0.156982421875ms
Search by array
let obj = []
for(let i =0; i<1000; i++){
obj.push('i'+i)
}
console.time('time')
for(let i =0; i<1000; i++){
const arrResult = obj.find(el => el === 'i'+i);
}
console.timeEnd('time')
time: 32.946044921875ms
Время конечно может отличатся, но в целом видится что поиск по массиву работаем медленнее обращения по ключу, по крайне мере в промышленном масштабе.