数字相加
🌐 Adding numbers
添加全精度浮点数。
🌐 Add floating point numbers with full precision.
new Adder()
const adder = new d3.Adder();adder.add(number)
adder.add(42)将指定的数字加到加法器的当前值上并返回该加法器。
🌐 Adds the specified number to the adder’s current value and returns the adder.
adder.valueOf()
adder.valueOf() // 42返回加法器当前值的 IEEE 754 双精度表示。最常用作简写表示 +adder,或在强制转换时作为 Number(adder)。
🌐 Returns the IEEE 754 double-precision representation of the adder’s current value. Most useful as the short-hand notation +adder, or when coercing as Number(adder).
fsum(values, accessor)
d3.fsum([0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]) // 1示例 · 来源 · 返回给定 values 的全精度总和。虽然速度较慢,但在需要更高精度的情况下,d3.fsum 可以替代 d3.sum。
d3.fsum(penguins, (d) => d.body_mass_g) // 1437000如果指定了访问器,则会对输入的值中的每个元素调用给定的函数,同时传入元素 d、索引 i 和数组 data 作为三个参数;然后将返回的值相加。
🌐 If an accessor is specified, invokes the given function for each element in the input values, being passed the element d, the index i, and the array data as three arguments; the returned values will then be added.
fcumsum(values, accessor)
d3.fcumsum([1, 1e-14, -1]) // [1, 1.00000000000001, 1e-14]示例 · 来源 · 返回给定 values 的全精度累加和,结果为 Float64Array。虽然速度较慢,但在需要更高精度时,d3.fcumsum 可以替代 d3.cumsum。
d3.fcumsum(penguins, (d) => d.body_mass_g) // [3750, 7550, 10800, 10800, 14250, …]如果指定了访问器,则会对输入的值中的每个元素调用给定的函数,同时传入元素 d、索引 i 和数组 data 作为三个参数;然后将返回的值相加。
🌐 If an accessor is specified, invokes the given function for each element in the input values, being passed the element d, the index i, and the array data as three arguments; the returned values will then be added.