[英]d3.js: how to use map function?
如何使用d3.map()
從以下數組中獲取[10, 12]
?
var mydata = [
{ '__data__' : 10 },
{'__data__' : 12 }
];
我一直在嘗試這個,但它不起作用:
var mymap = d3.map(mydata, function(d) {
return d.__data__;
});
你不能d3.map()
不是用於在數組中映射函數,而是用於散列的墊片。 簡而言之,雖然可以像散列一樣使用對象,但是有些情況可能會發生意外行為。 一個新的Javascript標准提出了一個解決方案,直到它實現, d3.map()
可以用於相同的效果。
文檔中的更多信息。
.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;
這可以是用於應用於原始數據數組中所有索引的函數:
percent = function () {
return (loadval/(numCores*100));
}
這將使用轉換后的值將其映射到新數組:
data = d3.range(dataSize).map(percent);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.