prototip, подключите этот
лёутящщ как указано у них в документации (
https://cdn.jsdelivr.net/npm/lodash@.../lodash.min.js ), или например при помощи unpkg (
https://unpkg.com/lodash@4.17.21/lodash.min.js ), или можете скачать этот файл к себе.
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>file</title>
</head>
<body>
<input type="file" onchange="show(this)">
<output id="info" style="white-space: pre-line;display: block;"></output>
<script src="https://unpkg.com/lodash@4.17.21/lodash.min.js"></script>
<script>
function show(input) {
const file = input.files;
let info = document.querySelector("output#info");
for (const el of file) {
const reader = new FileReader();
reader.readAsText(el);
reader.onload = () => {
if (typeof reader.result === 'string') {
info.append(`Words: ${reader.result.length}\n`);
}
const res = _.words(reader.result, /[-а-яё]{4,}/gim);
info.append(`Words: ${res.join(", ")}\n`);
const result = _.flow([
_.countBy,
_.toPairs,
_.partial(_.orderBy, _, 1, 'desc'),
_.partial(_.take, _, 10),
]);
info.append(`count: ${result(res).join(", ")}\n`);
};
}
}
</script>
</body>
</html>
Вместо
document.write создайте какой-нибудь элемент и в него вставляйте текст. См. пример выше.