Всё работает, если у отправителя разрешён доступ небезопасным приложениям, но не у всех он разрешён, вернее почти у всех он запрещён. Не буду же я у формы писать, мол разрешите доступ небезопасным приложениям
function fn(a, b, callback) {
if (typeof b === 'function') { callback = b }
callback('hello', a)
}
fn('world', 'aaaaa', console.log)
fn('world', console.log)
obj = {'asdf': 120, 'asdfsdf': 34, 'favcac': 5, 'sdfcy4': 623}
for(const [key, val] of Object.entries(obj)) {
console.log(key, val)
}
obj = {'asdf': 120, 'asdfsdf': 34, 'favcac': 5, 'sdfcy4': 623}
obj[Symbol.iterator] = function* () {
const values = Object.values(obj)
let count = 0
while(count < values.length) {
yield values[count]
count++
}
}
for(val of obj) console.log(val)
start = performance.now()
for (let i = 0; i < 999; i++) {
document.querySelectorAll('div').forEach(div => div.classList.toggle('testing'))
}
console.log('JAVASCRIPT TIMER: ', performance.now() - start)
start = performance.now()
for (let i = 0; i < 999; i++) {
$('div').each(function() { $(this).toggleClass('testing') })
}
console.log('JQUERY TIMER: ', performance.now() - start)
// VM692:5 JAVASCRIPT TIMER: 497.1950000617653
// VM692:12 JQUERY TIMER: 1562.6649999758229
.hero__arrow {
.........
animation-name: floating;
animation-duration: 1.5s;
animation-iteration-count: infinite;
animation-play-state: running;
&.paused {
animation-play-state: paused;
}
}
setInterval(() => {
const arrow = document.querySelector('div.hero__arrow')
arrow.classList.toggle('paused')
}, 1000)
Я не знаю, как мне теперь выводить список оставшихся карт отдельно по мастям
handleChange = e => {
this.setState({ [e.target.name]: e.target.value })
}
....
<input type="text" name="text1" onChange={this.handleChange} />
<input type="text" name="text2" onChange={this.handleChange} />
<input type="text" name="text3" onChange={this.handleChange} />
function get(num) {
const level = arr.find(lvl => lvl[1] <= num && lvl[2] >= num)
if(!level) return 0
const [from, to] = [level[1], level[2]]
console.log(from, '->', num, '->', to)
const percent = (num - from) / (to - from) * 100 + '%'
return percent
}
get(1800)
// 850 "->" 1800 "->" 1849
// "95.09509509509509%"
if (process.env.NODE_ENV === 'production') {
// Set static folder
app.use(express.static('client/build')); // это собранный проект реакт и его "public"
app.get('*', (req, res) => {
res.sendFile(path.resolve(__dirname, 'client', 'build', 'index.html'));
// это наверно неактуально, но так собирается правильный путь через path.resolve
});
}