рони,
так я вроде меньше строчек написал то :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, время: 21:36. |