Size: a a a

2019 September 26

p

p0rsche in javascript_ru
смотря что надо..просто красиво записать флип, или чтобы работало. Вроде мои данные это некий edge case, но я бы не сказал, что неопределенные поля в объектах это такая редкость
источник

NV

Nick Volkov in javascript_ru
p0rsche
смотря что надо..просто красиво записать флип, или чтобы работало. Вроде мои данные это некий edge case, но я бы не сказал, что неопределенные поля в объектах это такая редкость
не редкость, тут вопрос в тому какого поведения надо добиться)
источник

NV

Nick Volkov in javascript_ru
тут то суть в том, что в твоем кейсе значение по ключу undefined присваевается 3 раза
источник

NV

Nick Volkov in javascript_ru
и они друг друга переписывают
источник

p

p0rsche in javascript_ru
да. более того, любые другие значения одинаковые будут переписывать друг друга
источник

NV

Nick Volkov in javascript_ru
p0rsche
да. более того, любые другие значения одинаковые будут переписывать друг друга
просто я к тому, что это не изъян реализации, в варианте от будет тоже самое)
источник

АГ

Андрей Гуртовой in javascript_ru
ну да никак не выкрутиться. кроме warn ошибки в логе :)
источник

АГ

Андрей Гуртовой in javascript_ru
Object.entries(obj).reduce((memo, [,value]) => {
if(memo[value]) {console.warn('puplicate value:', value);}
memo[value] = true;
return memo;
}, {})
источник

NV

Nick Volkov in javascript_ru
Андрей Гуртовой
ну да никак не выкрутиться. кроме warn ошибки в логе :)
либо через Symbol шото велосипедить
источник

АГ

Андрей Гуртовой in javascript_ru
Nick Volkov
const flip = obj => {
const memo = {};
for (key in obj) {
 memo[obj[key]] = key
}

return memo;
}
кстати! :)) ты забыл про hasOwnProperty
источник

NV

Nick Volkov in javascript_ru
Андрей Гуртовой
кстати! :)) ты забыл про hasOwnProperty
а что даст hasOwnProperty в данном кейсе по сравнению с тупой проверкой, как ты написал if (obj[value]) ?
источник

АГ

Андрей Гуртовой in javascript_ru
ну если в прототипе будут свойства то for in и их проитерирует :)
источник

NV

Nick Volkov in javascript_ru
а, ты про это) ну да, косяк
источник

NV

Nick Volkov in javascript_ru
во
источник

p

p0rsche in javascript_ru
это уже не flip
источник

АГ

Андрей Гуртовой in javascript_ru
выглядит огнёво )
источник

АГ

Андрей Гуртовой in javascript_ru
источник

p

p0rsche in javascript_ru
а flipToSymbol
источник

АГ

Андрей Гуртовой in javascript_ru
а разве уже можно из символа дескрипшыны экстрактить ? :)
источник

NV

Nick Volkov in javascript_ru
p0rsche
а flipToSymbol
это вокрэруанд к эджкейсу с undefined😄
источник