Алексей Ярков: способов наверное много можно придумать, например через делегирование - в content.js повесить обработчик click на document, проверять event.target и нужные действия выполнять.
adsprosto: чтобы считать проценты, нужно знать, сколько составляет 100%, а тут размер записываемого файла заранее неизвестен. Можно добавить промежуточный stream между encrypt и writeStream и выводить килобайты.
Но pipe по сути выстраивает потоки в единый поток, и размер записанного прямо пропорционален размеру прочитанного, с относительно небольшим разбросом, так что проценты вполне можно считать и по прочитанному, это будет довольно близко к правде.
Забавно, jsx специально делали максимально близким к html и использующим обычный javascript, но людям нужны дополнительные директивы со своим особым синтаксисом.
theobroma: если данных мало, прядка сотен или тысяч элементов, достаточно фильтровать. Если больше, то в массиве хранить только id, чтобы был постоянный порядок, а данные в объекте с ключами id:
nirvimel: 1. Алгоритмически has и indexOf обладают одинаковой сложностью.
2. Какой смысл говорить о абстрактной вычислительной сложности, тем более словами "УЖАСНО" и "неприемлемо", если производительность от нее не зависит?
nirvimel Во первых, там не m * n, а та же m * log(n), а во вторых, в случае js говорить о вычислительной сложности - это гадать на кофейной гуще, слишком много зависит от движка и обстоятельств. https://jsperf.com/diffarray - в chromium 56 indexOf в 2 раза быстрее.