【发布时间】:2016-06-30 13:10:18
【问题描述】:
我是 d3 的新手,并尝试通过阅读其源代码来学习它。我从最简单的函数d3.min() 开始。然而,我的头发被一个看似很常见的代码f(array[i], i, array) 撕裂了。
- 我认为
f()应该是一个函数; -
array[i]正在访问索引i处的array的元素; -
i是array的索引; -
array是用户给出的数字数组。
如果以上4个理解都正确,那么f()作为用户给定的函数,其参数必须是array[i]、i、array这三个。但我们不必使用所有这些论点,对吧?
f() 的意义何在?谁能提供d3.min(array, f) 的任何有用示例/用法,其中f 不是null?
【问题讨论】:
-
感谢@NiettheDarkAbsol,这个链接很有帮助。
-
是的,您的观点是正确的。不,你不必传递所有的论点。但是,如果您只传递两个参数,则前两个参数将被填充,而其他参数则不会。但是如果你通过说, f(val,val, null, val) 这可能是一种传递你想要的任何参数的方法。在这里无法知道 f 的全部意义,因为我们不知道 f 是什么,但基本上它是一个应该使用传递给它的参数的函数
-
就个人而言,我认为您学习 D3 的方法会比较麻烦。如果您想了解有关它的工作原理的更多信息,请查看文章D3.js Source Code Walkthrough Part 1,它通过采用自上而下的视角而不是自下而上的方法为您提供了一个良好的开端。不幸的是,尽管它的标题,我不知道本文的任何第 2 部分。但请记住,正如文章中提到的,首先通过阅读一些教程来很好地掌握 D3 方法是必不可少的。
-
感谢@GerardoFurtado,我非常感谢您在不阅读源代码的情况下如何成为优秀的 dataviz 编码器的方法。你能告诉我更多吗?
标签: javascript arrays d3.js