gpt4 book ai didi

javascript - d3 中身份函数 ("function(d) { return d; }"的简写是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 05:19:21 24 4
gpt4 key购买 nike

查看 d3 文档,我看到这段代码(身份函数)到处重复:

function(d) { return d; }

d3 中是否有内置方法来执行此操作?我知道我可以创建自己的无操作身份函数并在任何地方使用它,但似乎 d3 应该提供这个。

最佳答案

我想知道为什么没有 d3.identity 函数作为库的一部分,而且找不到没有的理由。

从性能的 Angular 来看,定义恒等函数比重用 Object 构造函数提供更好的性能。如果您在不同类型之间重用相同的标识函数,则差别不大。一些performance tests are here .

所以在我的例子中,我滥用了 D3 并自己添加了函数:

d3.identity = function(d) { return d; }

如果您使用 underscore那么你也可以使用 _.identity功能。

关于使用 Object 构造函数,我的假设是每次调用它都会创建一个新的、不必要的对象,这会浪费内存和 CPU 时间,无论是创建还是垃圾收藏。这可能会针对不可变类型(例如某些运行时中的数字)进行优化。

编辑 Phrogz 有一个 brief article显示一些有用的简写形式,用于在使用 D3 时减少 lambda 的数量,其中包括身份函数。

关于javascript - d3 中身份函数 ("function(d) { return d; }"的简写是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17251398/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com