如何使用d3.map()以[10, 12]退出以下数组?
var mydata = [
{ '__data__' : 10 },
{'__data__' : 12 }
];
Run Code Online (Sandbox Code Playgroud)
我一直在尝试这个,但它不起作用:
var mymap = d3.map(mydata, function(d) {
return d.__data__;
});
Run Code Online (Sandbox Code Playgroud)
.map() 只是创建另一个数组,遍历你给它的任何东西并执行你在旧数组中的每个元素上定义的函数,然后它就成为新数组。
因此,如果我想对数组中的所有元素执行单个操作并从中创建一个新数组,我会使用 .map()
例如,当我从 /proc/loadavg 获取的数据为我每 5-15 分钟平均负载提供 0.28、0.03、1.0、0.97、0.04 等数字时,我需要查看以百分比表示的内容。但我还需要在我的计算中运行 nproc 的输出,nproc 为我提供了分布在哪些内核上的数量。所以每次 /proc/loadavg 给我一个新值时我都会创建一个数组,然后我将每个新值推送到一个数组上...
这将是您的初始数据:
var data = [0.28,0.03,1.0,0.97,0.04];
var dataSize = 5;
Run Code Online (Sandbox Code Playgroud)
这可能是用于应用于原始数据数组中所有索引的函数:
percent = function () {
return (loadval/(numCores*100));
}
Run Code Online (Sandbox Code Playgroud)
这会将其映射到具有转换后的值的新数组:
data = d3.range(dataSize).map(percent);
Run Code Online (Sandbox Code Playgroud)