Anonymous
только 1 вопрос
Anonymous
он у меня считает только целые числа
Anonymous
как заставить его понимать запятую?
Anonymous
var mid = 0;
array.shift();
array = array.map(s => parseInt(s));
array = array.filter(function(s){return s;});
for(i in array) {
if(array[i]) {
mid += array[i];
console.log(array[i]);
}
}
sendMessageText = 'Среднее ' + (mid / array.length);
George ✙
Зачем тебе запятая в вычислениях? Вставь ее в вывод
Alex
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseFloat
Anonymous
как заставить его понимать запятую?
У тебя в числах, которые ты парсишь, есть запятые? Посмотри на mdn статью про parseFloat, там есть пример строгого разбора числа с регуляркой, возьми эту регулярку и добавь туда запятую (только потом надо будет её заменить).
Это первое что в голову пришло.
George ✙
Прошу прощения, ошибся, думал ты хочешь через запятую их записать
George ✙
Поддерживаю parseFloat
Anonymous
var filterFloat = function (value) {
if(/^(\-|\+)?([0-9]+(\.[0-9]+)?|Infinity)$/
.test(value))
return Number(value);
return NaN;
}
Anonymous
вы об этом?
Anonymous
array = array.filter(function(s) {return s;});.
Anonymous
проблема разве не в этой строчке?
Anonymous
фильтр отрезает запятую и то что за ней?
horpto
нет, не в этой строчке
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/parseInt
Anonymous
Учту, спасибо
Дмитрий
let str = '1\n2\n3.5\n4\n5\n6,5\n7\n8\n9\n10';
let arr = str.split('\n');
let count = 0;
let res = arr.reduce((total, current) => {
if (current.includes(',')) {
current = current.replace(',', '.');
}
if (current.includes('.')) {
current = parseFloat(current) || 0;
} else {
current = parseInt(current) || 0;
}
if (current > 0) {
count++;
}
return total += current;
}, 0);
let med = res / count;
Vitaliy
кстати, пусть создается лишний мусор в памяти, но я бы предпочел разделить парсинг, фильтрацию и сложение..
Anonymous
Anonymous
@glukki @PragmaWolf @horpto
@psmitsu @JetFightzer
Спасибо вам всем за советы и наставления, очень полезная группа благодаря вам
Vitaliy
let numbers = str
.split(',').join('.')
.map(s => parseFloat(s))
.filter(n => !isNaN(n));
let med = numbers.reduce((sum, n) => sum + n, 0) / numbers.length;
Vitaliy
как интересно, не могу через десктопный клиент отредактировать сообщение, если обрамил его 3 тильдами о.О
UPD: а нет, могу, если написать какое-нибудь следом
Vitaliy
кстати, а где там у нас можно почитать про ограничения математического аппарата в JS?
помню, были какие-то смешные баги вокруг флоатов
Dreamerinnoise
xD
А ВОТ ТЕПЕРЬ ПАБЛИК
0.2+0.1
А ВОТ ТЕПЕРЬ ПАБЛИК
Тип етого?
Vitaliy
типа. но что-то не вижу бага в репле ноды..
А ВОТ ТЕПЕРЬ ПАБЛИК
Это не баг
Vitaliy
мм, окей, особенность поведения?
Dreamerinnoise
Anton
0.30000000000000004.com/
Vitaliy
оу. а к чему тогда?
Dreamerinnoise
https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html
Anton
глянь сайт
Michael
Vitaliy
класс, интересно, спасибо! :3
Vitaliy
вот! затем и спросил, что там что-то фундаментальное, а я и не знаю что! 😄
Vladimir
Точно также как и NaN не имеет ничего специфично в JS
Anton
а 0.30000000000000004.com грузится у кого-то?
Vitaliy
nope, зато вот нашел http://floating-point-gui.de
Anton
лажа, там были примеры на куче языков
Vitaliy
Andrew
Ребят, а вебпак с жс может любые файлы собирать жи?
Andrew
По сути, нужно собрать что-то типа шаблона для html
Vlad
Andrew
А это что-то типа своеобразной html разметки с своими особенностями
Vlad
мб тебе проще pug взять?
Andrew
Не работал с ним, а чем проще?
Andrew
Не
Anonymous
очень удобно писать на паге
Andrew
Вопрос не в поиске шаблонизатора
Andrew
А в том, как мне лучше сгенерить файл с нужным содержимым и расширением
Andrew
Думал это может вебпак
Andrew
И нужны именно апекс пейджи, а не паги)
Vlad
бля
Vlad
вебпак бандлер
Vlad
паг шаблонизатор
Vlad
тебе он нужен
Vlad
Andrew
Ок, посмотрю)
Andrew
Спасибо
Paul
https://medium.com/@tlivings/last-day-at-paypal-a-new-day-for-node-f00002cee3bf
Mannaro
Народ, сорри что не по теме. Стоит винда второй ОС. Не заходил в нее несколько месяцев. Тут зашел, а он мне говорит, мол, компонент has expired. Сбросил дату, все зашло. Комп перезагрузил и все. Теперь сам дату на правильную ставит, в ос не пускает. Стоял превью 10, обновить не успел
Mannaro
Как победить?
Anton
снести винду
Mannaro
Зачем?)
Anton
ну ты спросил как победить ее, я тебе ответил
Дима
Mannaro
Это геморрой дикий(
Дима
¯\_(ツ)_/¯
Anonymous
по этому все девелоперы и маки себе купили
Anonymous
чтобы не геморроиться
Mannaro
Он даже в безопасный режим не заходит(
Dreamerinnoise
С новым тачпадом?
Anonymous
стул с дрочеными
Anonymous