[1,1,2,3,4,5,5,6,6,6,6,6,4,1,6,7].reduce((acc, item, i, arr) => {
if (acc.has(item)) return acc;
let idx = arr.indexOf(item);
let lastIdx = arr.lastIndexOf(item);
if (idx === lastIdx) {
acc.add(item);
};
return acc;
}, new Set());
Алексей, сам reduce - O(n), внутри него indexOf и lastIndexOf по тому же массиву, оба с O(n), максимальная - O(n), так как у нас вложенные вычисления (на каждую итерацию внешнего полный цикл внутренних), то сложности перемножаются - O(n2)
user2080, mdn можно считать самым достоверным источником информации, но надо понимать, что это мазила, и там описано поведение Firefox (движок SpiderMonkey)
Помимо mdn я за достоверную информацию считаю еще 2 ресурса: https://github.com/v8/v8 - код движка v8 - тот что в chrome и node.js (а так же в ряде браузеров на базе chromium) https://262.ecma-international.org/11.0/ - спека языка
nvdfxx, алгоритм действий тут простой и известен давно: база уведомляет приложение о изменении в данных, приложение рассчитывает время до события и планирует его через таймер. Вот только пародия на СУБД под названием монга не умеет даже такой простой вещи как триггеры...
nozd up, за почти 8 лет в коммерческой разработке я еще не видел ни одного бизнеса, который бы был готов вложиться в переписывание чего либо. Особенно если это что-то взлетело, все силы бросаются на то, что позволит рубить бабло пока оно рубится.
А понимание того, что нужно было все переписать, а не городить костыли поверх MVP, дабы тот стал похож на продукт, как правило возникает когда переписывать уже слишком поздно.
Ну и переписывать что либо без архитектуры - точно пустая трата времени, а архитектура ПО и стартапы редко встречаются вместе.
Karpion, Василий Банников, а еще в сутках бывает 86400 или 86401 секунда, и если 366 дней еще плюс минус подчиняются конкретным правилам, то с секундами все зависит от "фазы луны"
а выкинуть это адское поделие и сделать без него не вариант?
использовать select2 - это все равно что в кузов от современного порше воткнуть потраха от сдохшего в прошлом веке запорожца... выглядит как порше, но не едет...
Алексей, сам reduce - O(n), внутри него indexOf и lastIndexOf по тому же массиву, оба с O(n), максимальная - O(n), так как у нас вложенные вычисления (на каждую итерацию внешнего полный цикл внутренних), то сложности перемножаются - O(n2)