$sum = array_sum(array_column($arr, 'price'));
foreach ($arr as &$n) {
$n['weight'] = number_format($n['price'] / $sum * 100, 2).'%';
}
inArray()
возвращает ... ещё одну функцию, которую только что создала при вызове:function inArray(arr) {
const result = function(x) {
// внутри этой функции будет ещё и доступен
// arr, с которым вызвали inArray()
return arr.includes(x);
};
return result;
}
Т.е. вызов inArray()
с каким-то массивом возвращает всего лишь ещё одну функцию, которая принимает любой аргумент, но ещё и «запомнила» конкретный arr
, с которым её создали.const myFilter = inArray([1, 2, 10]);
это свежесозданная функция, которая для любого аргумента возвращает true/false — есть ли это же значение в массиве [1, 2, 10]
чекбокс.addEventListener('change', e => кнопка.disabled = !e.target.checked);
$colors=['Красное'=>'#FF0000','Красноватое'=>'#FF0000',...];
<?php=make_color_html($colors[$apple->color]??UNKNOWN_COLOR); ?>
<text style="color:<?php = $colors[$apple->color]??UNKNOWN_COLOR; ?>">
$tm = Illuminate\Support\Carbon::create('2022-05-01T07:00:00.000Z');
/*
Illuminate\Support\Carbon @1651388400 {#4888
date: 2022-05-01 07:00:00.0 +00:00,
}
*/
В базе мы тоже(надеюсь) храним в UTC
<code lang="php">
$tm->setTimeZone('Europe/Moscow');
/*
=> Illuminate\Support\Carbon @1651388400 {#4887
date: 2022-05-01 10:00:00.0 Europe/Moscow (+03:00),
}
*/
$tm->setTimeZone('Europe/London');
/*
=> Illuminate\Support\Carbon @1651388400 {#4887
date: 2022-05-01 08:00:00.0 Europe/London (+01:00),
}
*/
</code>
function importAll(r) {
r.keys().forEach(r);
}
importAll(require.context('.', true, /block\.js$/));
if(parent.classList.contains('accordion-item__title-arrow-off')) {
parent.classList.remove('accordion-item__title-arrow-off')
}
[1, 2, 3, 4].reduce((sum, val) => { return sum + val }, 0)
// → 10
['foo', 'bar', 'quux'].reduce((obj, key) => { obj[key] = true; return obj; }, {});
// → { foo: true, bar: true, quux: true }