^\d\d(?:[ .,]\d\d?)*$
^\d\d(?:([.,])\d(?:\d(?:\1\d\d?|)|)|)(?: \d\d(?:([.,])\d(?:\d(?:\2\d\d?|)|)|))*$
HTTP/1.1 200 OK
Allow: OPTIONS, GET, HEAD, POST
Cache-Control: max-age=604800
Date: Thu, 13 Oct 2016 11:45:00 GMT
Expires: Thu, 20 Oct 2016 11:45:00 GMT
Server: nginx
Content-Length: 0
По default планирую возвращать, что метод не поддерживается.
if (! function_exists('optional')) {
/**
* Provide access to optional objects.
*
* @param mixed $value
* @param callable|null $callback
* @return mixed
*/
function optional($value = null, callable $callback = null)
{
if (is_null($callback)) {
return new Optional($value);
} elseif (! is_null($value)) {
return $callback($value);
}
}
}
.block {
margin-bottom: 40px;
}
div[class~="block"] + div:not([class~="block"]) {
margin-top: -40px;
}
[...arr.reduce((acc, c) => (acc.set(c, (acc.get(c) ?? 0) + 1), acc), new Map()).entries()]
.sort((a, b) => b[1] - a[1]).map((el) => el[0])
Собрать словарь (значение: счётчик)
, из него массив пар [key, value]
отсортировать по убыванию второго; оставить только первые. const acc = arr.reduce((acc, el) => ({...acc, [el]: (acc[el] || 0) + 1}), {});
const sortedArr = Object.keys(acc).sort((a, b) => acc[b] - acc[a]);