#javascript #d3.js
#javascript #d3.js
Вопрос:
Пытаясь использовать D3.js функция min для регистрации наименьшего числа из массива чисел. Следующий массив регистрирует 10.42 вместо 5.31.
var data = ["5.31", "5.31", "5.32", "6.08", "6.08", "6.08", "6.71", "6.71", "7.34", "7.35", "7.35", "7.96", "7.96", "7.96", "7.97", "9.43", "9.43", "9.44", "9.44", "9.44", "9.92", "9.92", "9.92", "9.92", "9.93", "9.93", "10.42", "10.42", "10.9", "10.9", "10.91", "10.91", "10.91", "11.98", "12.62", "12.62", "12.62", "14.08", "15.04", "16.02", "17.09", "17.09", "17.09", "18.06", "18.45", "19.42", "20", "21.45", "24.85", "26.3"];
console.log(d3.min(data)); // logs 10.42
Живая версия находится в этом codepen.
Комментарии:
1. Вы сравниваете строки,
10.42
это минимальное значение, начиная с1
. Но попробуйте использоватьd3.min(data, d => parseFloat(d))
2. Спасибо, Ксавье! Я не понимал, что это массив строк, а не плавающих.