Size: a a a

2020 May 01

АН

Авроамэриканец Начрэ... in pro.js
Переслано от Авроамэриканец Начрэ...
Генерирую, потому что нужно повторять, а это работа для компуктера
источник

DE

Denis Efremov in pro.js
Авроамэриканец Начрэл
Переслано от Авроамэриканец Начрэл
Придумай как максимально коротко и производительно описать возвращение необходимых свойств объекта.

Мой вариант
var data = getComputedStyle(document.body);
var needs = ['width', 'height'];
(eval(Array(2).fill(`({${needs.join(',')}})`).join('=>')))(data);


Да, само решение длинное, но на самом деле я могу так десятки свойств перечислить. Тут генерируется рутинное ({prop})=>({prop})
Что надо то?
источник

DE

Denis Efremov in pro.js
Функцию, которая принимает объект и массив свойств?
источник

АН

Авроамэриканец Начрэ... in pro.js
Denis Efremov
Что надо то?
Максимально короткий код делающий это
источник

DE

Denis Efremov in pro.js
const getDefinedProps = (obj = {}, props = []) => (
 Object.fromEntries(props.map((prop) => obj[prop]
   ? [prop, obj[prop]]
   : []))
)
источник

S

Syntax Highlight Bot in pro.js
Denis Efremov
const getDefinedProps = (obj = {}, props = []) => (
 Object.fromEntries(props.map((prop) => obj[prop]
   ? [prop, obj[prop]]
   : []))
)
источник

С

Славик in pro.js
тут надо подключить jquery отсюда вижу
источник

F

Foma in pro.js
все видили авку?
источник

DE

Denis Efremov in pro.js
Да
источник

DE

Denis Efremov in pro.js
Авроамэриканец Начрэл
Максимально короткий код делающий это
const g=(o={},s=[])=>Object.fromEntries(s.map(p=>o[p]&&[p,o[p]]).filter(Boolean))
источник

CM

Chingiz Mamiyev in pro.js
Foma
все видили авку?
ага
источник

АН

Авроамэриканец Начрэ... in pro.js
Denis Efremov
const g=(o={},s=[])=>Object.fromEntries(s.map(p=>o[p]&&[p,o[p]]).filter(Boolean))
Круто. Пока что это лучший вариант. Хоть и двойной перебор
источник

DE

Denis Efremov in pro.js
Авроамэриканец Начрэл
Круто. Пока что это лучший вариант. Хоть и двойной перебор
источник

DE

Denis Efremov in pro.js
Авроамэриканец Начрэл
Круто. Пока что это лучший вариант. Хоть и двойной перебор
Лучший среди кого?
источник

DE

Denis Efremov in pro.js
79 длина, если вар заюзать
источник

АН

Авроамэриканец Начрэ... in pro.js
Denis Efremov
Лучший среди кого?
Среди твоего и моего подхода. Провел тест, проигрывает в 3 раза
источник

АН

Авроамэриканец Начрэ... in pro.js
function perfTest(fn, n) {
let s=new Date().getTime();
for(let i=0;i<n;i++) {
fn();
}
return new Date().getTime() - s;
}


var data = getComputedStyle(document.body);
var props = ['width', 'height'];
var iters = 100000;

var res1 = perfTest(((o,s)=>Object.fromEntries(s.map(p=>o[p]&&[p,o[p]]).filter(Boolean))).bind(null,data, props), iters);
console.log('Result 1:', res1/1000)

var res2 = perfTest((eval(Array(2).fill(`({${props.join(',')}})`).join('=>'))).bind(null, data), iters);
console.log('Result 2:', res2/1000)
источник

DE

Denis Efremov in pro.js
Авроамэриканец Начрэл
function perfTest(fn, n) {
let s=new Date().getTime();
for(let i=0;i<n;i++) {
fn();
}
return new Date().getTime() - s;
}


var data = getComputedStyle(document.body);
var props = ['width', 'height'];
var iters = 100000;

var res1 = perfTest(((o,s)=>Object.fromEntries(s.map(p=>o[p]&&[p,o[p]]).filter(Boolean))).bind(null,data, props), iters);
console.log('Result 1:', res1/1000)

var res2 = perfTest((eval(Array(2).fill(`({${props.join(',')}})`).join('=>'))).bind(null, data), iters);
console.log('Result 2:', res2/1000)
Дай ссылку на тест
источник

АН

Авроамэриканец Начрэ... in pro.js
Denis Efremov
Дай ссылку на тест
В консоль вставь
источник

NP

Nastya Preobrazhensk... in pro.js
Господа и остальные, мутим с бывшими коллегами мафию в шпионе, хотим посторонних участников, кто го с нами?
источник