大数据可视化涉及的js方法问题

1.分组 2.排序 3.截取 4.条件查询 5.二维数组整合 6.数据拼接
一、分组:
对数据进行分组,类似于sql的group By。
其原理是:
首先定义一个空对象和一个空数组,然后遍历所有数据,使用if判断,符合条件的存入空数组。
例子:  const result = this.allData (总数据)
          var map={},   (空对象)
            dest=[]        (空数组)
            for(var i=0;i<result.length;i++){              (遍历总数居)
                 var ai = result[i];                           (提取出每条数据)
                if(!map[ai.month]){                          (判断需要分组的数据是否在空对象中)
                    dest.push({                                       (不在的话就添加到空数组中)
                        month:ai.month,
                        result:[ai],
                    });
                    map[ai.month]=ai;
                }
                else{
                    for(var j=0;j<dest.length;j++){
                        var dj=dest[j];
                        if(dj.month==ai.month){
                            dj.result.push(ai);
                            break;
            }
                    }}}
二、排序
1.数组排序:sort()方法以字母顺序对数组进行排序
2.反转数组:reverse()方法反转数组中的元素
3.写一个比值函数 function(a,b){return a-b}
例子:function compare(key,boolean){           
        return function(a,b){
            var value1=a[key]
            var value2=b[key]
            if(boolean===true){           (通过更改boolean值进行排序,true和false对应正序与逆序)
                return value1-value2
            }else{
                return value2-value1
            }
        }
    }
    dest.sort(compare('month',true))
三、截取
slice() 方法可通过指定的开始和结束位置,提取字符串的某个部分,并以新的字符串返回被提取的部分。
语法:    
stringObject.slice(start, end)
例子: var dataTotal = data.slice(0, 5)
四、条件查询
使用filter函数
filter()方法用于过滤数组元素。该方法创建一个新数组, 其中包含通过所提供函数实现的测试的所有元素。filter()不会对空数组进行检测,也不会改变原始数组。
例子:   var fail = arr1.filter(function (a) {
          return a.returnflag === 'A'
        })
五、二维数组整合
例子:
    var a = [1,2,3,4]
    var b = [11,22,33,44]
    var c =a.map((i,j)=>[i,b[j]]);  (散点图涉及)
    console.log(c)
六、数据拼接
使用concat()函数
例子: 
var a = [1,2];
var b = [3,4,5];
  var c = []
  var c= a.concat(b);
console.log(c)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值