1 js數組方法
1. JavaScript中修改數組自身的方法:
- array.pop - 移除最后一個元素.
- array.push - 追加一個或多個元素.
- array.reverse - 數組翻轉.
- array.shift - 移除第一個元素.
- array.sort - 排序.
- array.splice - 添加或著移除.
- array.unshift - 在數組前添加一個或多個元素.
2.JavaScript中數組的存取方法:
- array.concat - 將數組與數組或值合并.
- array.join - 只用指定的字符串將數組轉為一個字符串.
- array.slice - 提取切片.
- array.indexOf - 找出指定元素的索引.
- array.lastIndexOf - 找出指定元素的最后一個索引.
3.JavaScript中數組的迭代方法:
- array.filter - 過濾.
- array.forEach - 對每個元素執行某個方法.
- array.every - 是否每個元素都符合給定的條件.
- array.map - 根據指定的操作對每個元素執行后返回一個新的數組.
- array.some - 是否存在符合某個條件的元素.
- array.reduce - 從左到右執行reduce操作并返回一個值.
- array.reduceRight - 從右到左執行reduce操作并返回一個值.
2 d3數組方法
計算類
d3.min(array) 獲取最小值
d3.max(array) 獲取最大值
d3.extent(array) 獲取極值[最小值,最大值]
d3.sum() 計算和
d3.mean() 獲取數組的均值
d3.median() 獲取數組的中位數
d3.quantile() 類似比例尺計算
var a = [0, 10, 30];
d3.quantile(a, 0); // 0
d3.quantile(a, 0.5); // 10
d3.quantile(a, 1); // 30
d3.quantile(a, 0.25); // 5
d3.quantile(a, 0.75); // 20
d3.quantile(a, 0.1); // 2
d3.variance() 求方差
d3.deviation() 求標準差
查找類
d3.scan()
d3.d3.bisectLeft(array, x[, lo[, hi]]) 返回x在數組中應該被插入的位置并保證數組的有序性,如果數組中已經存在x,則插入點的位置位于這個已經存在的元素之前
d3.bisect()
d3.bisectRight() 與bisectLeft類似, 但是插入點的位置是從右向左計算的.
d3.bisector()
數組變換
d3.cross()
d3.shuffle(array) 將數據重新隨機
d3.pairs(array)
d3.pairs([1, 2, 3, 4]); // returns [[1, 2], [2, 3], [3, 4]]
d3.permute(arrayA,arrayB) 根據指定索引數組,返回排序后的數組
d3.permute(["a", "b", "c"], [1, 2, 0]) // ["b", "c", "a"].
d3.ticks(start, stop, count) 在start和stop之間計算出一個等間隔的、精確的刻度序列
d3.tickStep(start, stop, count)根據start和stop以及count返回刻度的間隔大小
d3.range([start, ]stop[, step])
d3.range(0, 1, 1 / 49); // BAD: returns 50 elements!
d3.range(49).map(function(d) { return d / 49; }); // GOOD: returns 49 elements.
d3.transpose() 使用zip操作進行矩陣轉置.
d3.zip() 數組重合并
d3.zip([1, 2], [3, 4]); // returns [[1, 3], [2, 4]]