Сообщение от ksa
|
нет особого смысла в выкладывании варианта хуже предыдущего...
|
Хуже или лучше - понятие относительное
<script>
let t0, t1, t2, t3;
const ar = Array.from({length:1_000_000}, (_, i)=>i)
let b;
t0 = performance.now();
b = ar.filter(num => [1, 2, 5].includes(+String(num).charAt(0)));
t1 = performance.now() - t0;
t0 = performance.now();
b=[];
for(let i=0; i<ar.length; i++){
const as = String(ar[i])[0];
if(as === '1' || as === '2' || as === '5') b.push(ar[i])
}
t2 = performance.now() - t0;
t0 = performance.now();
b = ar.filter(num => /^[125]/.test(num));
t3 = performance.now() - t0;
alert (`t1=${t1} t2=${t2} t3=${t3}`)
</script>
Второй вариант самый быстрый, а третий - самый медленный
(ну у меня в Chrome так)