arr.map((n, i) => n ? i : null).filter(n => n !== null)
// или
arr.map((n, i) => n ? i : NaN).filter(n => n === n)
// или
arr.map((n, i) => !!n && i).filter(Number.isInteger)
// или
arr.map((n, i) => !n || i).filter(n => n !== !0)
arr.reduce((acc, n, i) => n ? [ ...acc, i ] : acc, [])
// или
arr.reduce((acc, n, i) => (n && acc.push(i), acc), [])
for (let i = arr.length; i--;) {
if (arr[i]) {
arr[i] = i;
} else {
arr.splice(i, 1);
}
}
// или
arr.reduceRight((_, n, i, a) => n ? a[i] = i : a.splice(i, 1), 0);
// или
arr.splice(0, arr.length, ...любое_выражение_с_map/filter_или_reduce_из_показанных_выше);
// или
let count0 = 0;
for (const [ i, n ] of arr.entries()) {
arr[i - count0] = i;
count0 += !n;
}
arr.length -= count0;
const reverse = str => str.length < 2 ? str : reverse(str.slice(1)) + str[0];
const reverse = ([ c, ...str ]) => c ? reverse(str) + c : '';
ffmpeg -i "VHS-01.mpg" -c:v libx265 -b:v 8M -c:a aac -b:a 128k "VHS-01.mp4"
Сжиматься должно еще дольше, чем по совету с H264, но и объем будет меньше. H265 на данный момент сжимает лучше всех.ffmpeg -y -i "VHS-01.mpg" -c:v libx265 -b:v 8M -x265-params pass=1 -an -f mp4 NUL && ^
ffmpeg -i "VHS-01.mpg" -c:v libx265 -b:v 8M -x265-params pass=2 -c:a aac -b:a 128k "VHS-01.mp4"
Это все под Windows, если что. Я делаю через bat-файлы.changeCollection как этой главной функции указать то что будет принимать сколько угодное количество массивов , а последним будет обработчик ?В современном js вот так:
changeCollection(...arrays, handler)
function changeCollection() {
var handler = arguments[arguments.length - 1];
for (var i = 0; i < arguments.length - 1; i++) {
var array = arguments[i];
handler(array);
}
}
function changeCollection() {
var handler = arguments[arguments.length - 1];
for (var i = 0; i < arguments.length - 1; i++) {
var array = arguments[i];
handler(array);
}
}
function deleteFunc(array) {
array.shift();
}
var one = [1 ,2 ,3];
var two = ['b', 'c'];
changeCollection(one, two, deleteFunc)
console.log(one, two); // [2, 3] ['c']
const clone = [...original];
. Но если у вас внутри массивов не примитивы и вы изменяете элементы, то нужно делать глубокое копирование. Но что возвращает return this.on(...); ? Если ничего, то в чем суть?
Returns a reference to the EventEmitter, so that calls can be chained
Изучил много литературы на эту тему, попытался разобраться досконально с этой производной, знаю определения формулы, понимаю геометрический и физический смысл производной.
Не могли бы вы объяснить это простыми словами
Сложностей не боимся.
Оставляю за Вами право считать заказчика сумасшедшим, у которого есть лишние деньги на разработку.