Size: a a a

Front-end developers

2019 November 10

MK

Mr. Krasnov. in Front-end developers
Alex Malamud
И я закусился с техлидом по этому поводу
Ну индекс нельзя не как поменять, вроде бы, он ставится сразу неизменным, и в количестве до этого создаваемых ечеек, это удобно
источник

MN

Maria Nasonkina in Front-end developers
Привет, помогите, пожалуйста, понять найденный код))
let arr = ['a', 'a', 'b', 'c', 'b', 'a'];
let res = arr.reduce((accObj, curVal) => ({...accObj, [curVal]: (accObj[curVal] || 0) + 1}), {});

Понимаю, что он делает (на выходе будет объект {a: 3, b: 2, c: 1])
Могу расписать для себя понятным образом типа вот:
const myReduceFunc = (accObj, curVal)=> {
 accObj[curVal] = (accObj[curVal] || 0) + 1;
 return accObj;
}
let result = arr.reduce(myReduceFunc, {});
А вот ту краткую запись все равно не понимаю. Зачем круглые скобки там после =>? Что делает спред-оператор? Почему запятая после ...accObj?
Спасибо заранее.
источник

DE

Denis Evlampiev in Front-end developers
Maria Nasonkina
Привет, помогите, пожалуйста, понять найденный код))
let arr = ['a', 'a', 'b', 'c', 'b', 'a'];
let res = arr.reduce((accObj, curVal) => ({...accObj, [curVal]: (accObj[curVal] || 0) + 1}), {});

Понимаю, что он делает (на выходе будет объект {a: 3, b: 2, c: 1])
Могу расписать для себя понятным образом типа вот:
const myReduceFunc = (accObj, curVal)=> {
 accObj[curVal] = (accObj[curVal] || 0) + 1;
 return accObj;
}
let result = arr.reduce(myReduceFunc, {});
А вот ту краткую запись все равно не понимаю. Зачем круглые скобки там после =>? Что делает спред-оператор? Почему запятая после ...accObj?
Спасибо заранее.
Зачем круглые скобки там после =>?
Чтобы парсер понимал, что стрелочная функция должна вернуть объект, а не выпонить блок кода.
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Functions/Arrow_functions#Возвращаемые_объектные_строки_литералы

Что делает спред-оператор?
{...accObj} копирует все перечисляемые свойства из accObj в новый объект
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/Spread_syntax#Spread_в_литералах_объекта

Почему запятая после ...accObj?
Потому что добавляется новое свойство объекта, а скобки [curVal], чтобы задать этому свойству имя  из переменной
источник

MK

Mr. Krasnov. in Front-end developers
Denis Evlampiev
Зачем круглые скобки там после =>?
Чтобы парсер понимал, что стрелочная функция должна вернуть объект, а не выпонить блок кода.
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Functions/Arrow_functions#Возвращаемые_объектные_строки_литералы

Что делает спред-оператор?
{...accObj} копирует все перечисляемые свойства из accObj в новый объект
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/Spread_syntax#Spread_в_литералах_объекта

Почему запятая после ...accObj?
Потому что добавляется новое свойство объекта, а скобки [curVal], чтобы задать этому свойству имя  из переменной
О сегодня с этим сталкивался
источник

MK

Mr. Krasnov. in Front-end developers
Maria Nasonkina
Привет, помогите, пожалуйста, понять найденный код))
let arr = ['a', 'a', 'b', 'c', 'b', 'a'];
let res = arr.reduce((accObj, curVal) => ({...accObj, [curVal]: (accObj[curVal] || 0) + 1}), {});

Понимаю, что он делает (на выходе будет объект {a: 3, b: 2, c: 1])
Могу расписать для себя понятным образом типа вот:
const myReduceFunc = (accObj, curVal)=> {
 accObj[curVal] = (accObj[curVal] || 0) + 1;
 return accObj;
}
let result = arr.reduce(myReduceFunc, {});
А вот ту краткую запись все равно не понимаю. Зачем круглые скобки там после =>? Что делает спред-оператор? Почему запятая после ...accObj?
Спасибо заранее.
Короче типо {} внутри () формирует обьект
источник

АБ

Алексей Бодрый in Front-end developers
Добрый вечер ребята) подскажите пожалуйста значение вот этого атрибута (data-n-head). Спасибо )
источник

IH

Ivan Hrynevytskyi in Front-end developers
Алексей Бодрый
Добрый вечер ребята) подскажите пожалуйста значение вот этого атрибута (data-n-head). Спасибо )
хороший вопрос
источник

АБ

Алексей Бодрый in Front-end developers
)))
источник

АБ

Алексей Бодрый in Front-end developers
data-n-head="ssr" - выходит что это данные основной страницы сайта, верно ? А для чего применяется ?
источник

MP

Maksym Pohribniak in Front-end developers
Алексей Бодрый
data-n-head="ssr" - выходит что это данные основной страницы сайта, верно ? А для чего применяется ?
Неизвестно
Все атрибуты которые начинаются с data-* кастомные
источник

MP

Maksym Pohribniak in Front-end developers
Может применятся для чего угодно
Нужно смотреть код
источник

R

Roman in Front-end developers
Подскажите. Есть канвас 512x512 пикселей. Нужно, чтобы в нем величина каждого пикселя была 8x8. Как это реализовать
источник

D

Dmitry in Front-end developers
Roman
Подскажите. Есть канвас 512x512 пикселей. Нужно, чтобы в нем величина каждого пикселя была 8x8. Как это реализовать
источник

IH

Ivan Hrynevytskyi in Front-end developers
Roman
Подскажите. Есть канвас 512x512 пикселей. Нужно, чтобы в нем величина каждого пикселя была 8x8. Как это реализовать
сделай функцию типа Point(x,y) а внутри нее ctx.fillRect(x,y,8,8);
источник

IH

Ivan Hrynevytskyi in Front-end developers
ну и если надо, еще и контекст прокидывай
источник

D

Dmitry in Front-end developers
То есть увеличить канвас в восемь раз?
источник

R

Roman in Front-end developers
Ivan Hrynevytskyi
сделай функцию типа Point(x,y) а внутри нее ctx.fillRect(x,y,8,8);
Я так делаю. Но надо четко чтобы квадраты были видны, добусстим если размер увеличиться до 128. Это уже будет полотно 4Х4.
источник

R

Roman in Front-end developers
Dmitry
То есть увеличить канвас в восемь раз?
Нет величина канваса та же. А вот величина пикселя меняется.  Scale не помогает, тогда вообще не рисует
источник

R

Roman in Front-end developers
Типа так
источник

IH

Ivan Hrynevytskyi in Front-end developers
а зачем тебе именно размер пикселя менять?
источник