Use d3_numeric for !isNaN.
This commit is contained in:
Родитель
57e07f9211
Коммит
74aaf245d0
|
@ -78,21 +78,21 @@
|
||||||
}
|
}
|
||||||
return [ a, c ];
|
return [ a, c ];
|
||||||
};
|
};
|
||||||
d3.sum = function(array, f) {
|
|
||||||
var s = 0, n = array.length, a, i = -1;
|
|
||||||
if (arguments.length === 1) {
|
|
||||||
while (++i < n) if (!isNaN(a = +array[i])) s += a;
|
|
||||||
} else {
|
|
||||||
while (++i < n) if (!isNaN(a = +f.call(array, array[i], i))) s += a;
|
|
||||||
}
|
|
||||||
return s;
|
|
||||||
};
|
|
||||||
function d3_number(x) {
|
function d3_number(x) {
|
||||||
return x === null ? NaN : +x;
|
return x === null ? NaN : +x;
|
||||||
}
|
}
|
||||||
function d3_numeric(x) {
|
function d3_numeric(x) {
|
||||||
return !isNaN(x);
|
return !isNaN(x);
|
||||||
}
|
}
|
||||||
|
d3.sum = function(array, f) {
|
||||||
|
var s = 0, n = array.length, a, i = -1;
|
||||||
|
if (arguments.length === 1) {
|
||||||
|
while (++i < n) if (d3_numeric(a = +array[i])) s += a;
|
||||||
|
} else {
|
||||||
|
while (++i < n) if (d3_numeric(a = +f.call(array, array[i], i))) s += a;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
};
|
||||||
d3.mean = function(array, f) {
|
d3.mean = function(array, f) {
|
||||||
var s = 0, n = array.length, a, i = -1, j = n;
|
var s = 0, n = array.length, a, i = -1, j = n;
|
||||||
if (arguments.length === 1) {
|
if (arguments.length === 1) {
|
||||||
|
|
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
|
@ -1,14 +1,14 @@
|
||||||
|
import "../math/number";
|
||||||
|
|
||||||
d3.sum = function(array, f) {
|
d3.sum = function(array, f) {
|
||||||
var s = 0,
|
var s = 0,
|
||||||
n = array.length,
|
n = array.length,
|
||||||
a,
|
a,
|
||||||
i = -1;
|
i = -1;
|
||||||
|
|
||||||
if (arguments.length === 1) {
|
if (arguments.length === 1) {
|
||||||
while (++i < n) if (!isNaN(a = +array[i])) s += a;
|
while (++i < n) if (d3_numeric(a = +array[i])) s += a; // zero and null are equivalent
|
||||||
} else {
|
} else {
|
||||||
while (++i < n) if (!isNaN(a = +f.call(array, array[i], i))) s += a;
|
while (++i < n) if (d3_numeric(a = +f.call(array, array[i], i))) s += a;
|
||||||
}
|
}
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
};
|
};
|
||||||
|
|
Загрузка…
Ссылка в новой задаче