const getLastDeepestElement = function(el) {
return this(el, 0)[0];
}.bind(function get(el, level) {
return [...el.children].reduce((p, c) => (
c = get(c, -~level),
p[1] > c[1] ? p : c
), [ el, level ]);
});function getLastDeepestElement(el) {
let result = [ el, 0 ];
for (const stack = [ result ]; stack.length;) {
const n = stack.pop();
result = n[1] > result[1] ? n : result;
stack.push(...Array.from(n[0].children, m => [ m, n[1] + 1 ]));
}
return result[0];
}const getDeepestLastElement = el =>
el.lastElementChild
? getDeepestLastElement(el.lastElementChild)
: el;const getDeepestLastElement = el => Array
.from(el.querySelectorAll('*'))
.pop() || el;
// или
function getDeepestLastElement(el) {
for (let c; (c = el.children).length; el = c[~-c.length]) ;
return el;
}
историю звонков, смс, писем, соц. сети и мессенджеры
приложение просто смотрит, когда человек проявляет активность
User-agent: *
Disallow: /
легальные источники данных - историю звонков, смс, писем, соц. сети и мессенджеры
То есть по сути приложение просто смотрит, когда человек проявляет активность
Человек не давал явное согласие отслеживать его время сна, но и не запрещал.
cart = [
{id: 11},
{id: 23}
//и т.д
];cart.splice(0, 1);
попытался решить все через рекурсию
const createTree = (data, parentId = null) =>
data.reduce((acc, n) => (
parentId === n.parentId && (
acc[acc.length] = Object.assign(
{ children: createTree(data, n.id) },
n
)
),
acc
), []);function createTree({
data,
key = 'id',
parentKey = 'parentId',
childrenKey = 'children',
}) {
const tree = Object.fromEntries(data.map(n => [
n[key],
{ ...n, [childrenKey]: [] },
]));
return Object.values(tree).filter(n => !(
tree[n[parentKey]] && tree[n[parentKey]][childrenKey].push(n)
));
}
This command encodes a video with good quality, using slower preset to achieve better compression:https://trac.ffmpeg.org/wiki/Encode/H.264
ffmpeg -i input.avi -c:v libx264 -preset slow -crf 22 -c:a copy output.mkv
mp4box -add input.mp4:fps=1 -new output.mp4
console.log(`${user2}`); // Выведет 20 10, т.к. будет вызов user2.toString()
console.log(+user1); // Выведет 20 10 т.к. будет вызов user1.valueOf();
console.log(+user2); // Вывезет 20 10, у user2 нет valueOf, будет произведен вызов функции toString, результат которой будет преобразован в число.