Возможно, вы столкнулись с ограничениями post_max_size или upload_max_filesize .
Вы можете изменить их в php.ini (post_max_size должно быть больше, чем upload_max_filesize )
Это (ab) использование оператора запятой, который берет список разделенных запятыми выражений, оценивает первое (ие) выражение (я), отбрасывает их, а затем все (...)
разрешается до значения конечного выражения , Обычно это делается только при автоматической минимизации IMO, потому что синтаксис выглядит запутанным.
.reduce
там
return titles.reduce((obj, title, index) => ((obj[title] =
values[index]), obj), {});
эквивалентно
return titles.reduce((obj, title, index) => {
obj[title] = values[index];
return obj;
}, {});
, что имеет гораздо больше смысла - он превращает массив названий (например, ['foo', 'bar']
) и массив значений (например, ['fooVal', 'barVal']
) и использует .reduce
для преобразования их в один объект, { foo: 'fooVal', bar: 'barVal' }
.
Первым аргументом обратного вызова .reduce
является начальное значение аккумулятора (второй аргумент .reduce
) или значение, которое было возвращено на последней итерации - приведенный выше код передает {}
в качестве начального значения, назначает свойство объекту и возвращает объект на каждой итерации. .reduce
- это обычно наиболее подходящий метод для превращения массива в объект, но если вы более знакомы с forEach
, код эквивалентен
const obj = {};
titles.forEach((title, index) => {
obj[title] = values[index];
});
return obj;
[ 1120] Хотя оператор запятой может быть полезен при игре в код, это, вероятно, не то, что следует использовать при попытке написать хороший читаемый код.