рони,
так я вроде меньше строчек написал то :lol: |
Poznakomlus,
да похоже в данном случае эта строка не даёт никакого ускорения |
:write:
var arr = new Array(10000).fill(1)
let threeF = arr => arr.filter(el => {
this[el] = ++this[el] || 1;
return 3 === this[el]
}, {})
console.time("x")
var x = threeF(arr);
console.timeEnd("x")
function fn(d, e) {
for (var f = [], b = {}, a, c = 0; c < d.length; c++)
a = d[c], b[a] == e || (b[a]++ || (b[a] = 1), b[a] == e && f.push(a));
return f
};
console.time("k")
var k = fn(arr,3);
console.timeEnd("k")
|
так извращаясь можно в одну строку
let threeF = arr => arr.filter(el => (this[el] = ++this[el]|| 1) && 3 === this[el], {});
|
Цитата:
|
j0hnik,
предложи способ лучше! |
Цитата:
https://jsperf.com/ - Рони вот вам отличный сервис. там даже 5% разброса не видел |
j0hnik,
ок но в данном случае этот сервер показал фантастические результаты, когда 11 циклов быстрее одного. |
Цитата:
|
| Часовой пояс GMT +3, время: 11:15. |