zoukankan      html  css  js  c++  java
  • 数据处理

    1.字符串转数组

    var str = '1,2,3,4,巴德,merge';
    var arr = str.split(',');
    console.log(arr);     // ["1", "2", "3", "4", "巴德", "merge"]   数组
    console.log(arr[4]);  // 巴德

    2.数组转字符串

    var str = '1,2,3,4,巴德,merge';
    var arr = str.split(',');
    console.log(arr);     // ["1", "2", "3", "4", "巴德", "merge"]   数组
    console.log(arr[4]);  // 巴德

    3.字符串转数组,数组转数组格式化,数组格式化转数组

    var str = '1,2,3,4,巴德,merge';
    var arr = str.split(',');
    var strify = JSON.stringify(arr);
    console.log(arr);       // ["1", "2", "3", "4", "巴德", "merge"]   数组
    console.log(arr[4]);    // 巴德
    console.log(strify);    // ["1", "2", "3", "4", "巴德", "merge"]   字符串
    
    var arrParse = JSON.parse(strify);
    console.log(arrParse);  // ["1", "2", "3", "4", "巴德", "merge"]   数组

    4.数组转数组json

    var arr=['1','2','3'];
    var arr2=[];
    for(let i=0; i<arr.length;i++){
      arr2.push({'num':arr[i]})
    } console.log(arr2); // [{"num":"1"},{"num":"2"},{"num":"3"}] 数组json
    console.log(arr2[0].num); // 1

    5.ajax请求接口取一个字符串存数组

    6.concat数组

    var arr=[];
    arr.push(请求回来的值) console.log(arr); // ['请求回来的值','请求回来的值','请求回来的值'] 数组

    7.两个数组循环,找到相对应的值

      let robot_statusarr=item.robot_status.split(',');
      let robot_namearr=item.Robort_name.split(',');
      let userobotname = [];
      console.log(robot_statusarr,robot_namearr,'12345589')
      robot_statusarr.forEach((v,i) =>{
       if(v == "1"){
        userobotname.push(robot_namearr[i]); 循环一个数组,将下标push到另一个数组里,就能找到对应的值了
       }
       return false;
    })
     
    8.JSON 转换
      object --> String  JSON.stringify()
      String --> object  JSON.parse()
     
    9.数组最后一个数
      let arr =[1,2,3,4,5,6]
      console.log(arr.length-1) //得到的数是6
     

     10.数组排序

    function compare(num){
    //数组排序
      return function (a,b){
        var value1 = a[num];
        var value2 = b[num];
        return value1 - value2;
      }
    }
    调用:arr.sort(this.compare('字段名称')
    11.去除一个数组中与另一个数组中的值相同的元素
    function array_diff(a, b) {
      //去除一个数组中与另一个数组中的值相同的元素
      for(var i=0;i<b.length;i++){
        for(var j=0;j<a.length;j++){
          if(a[j]==b[i]){
            a.splice(j,1);
            j=j-1;
          }
        }
      }
      return a;
    },
     
    12.对象里插入数组
       let navlist={ };
      if(navlist['brand_'+id]){
      //判断这个对象是否为空,
      navlist['brand_'+id]=[];
      navlist['brand_'+id].push(数据)
      }else{
      navlist['brand_'+id].unshift(数据)
      }
     
    13.一个数组里去重
      let arr =['001','001','002','001','001','001','001','001','002','001'];
      arr = [...new Set(arr)];  //arr = ['001','002'];  
      arr =  Array.from(new Set(arr)); //arr = ['001','002'];
     
    14.两个数组对比,保留两个数组中不同的数据

      let arr1 = [1,2,3,4];
      let arr2 = [1,2,3,4,5,6,7]
      for(let i = 0;i < arr1.length;i ++){
        for(let x = 0;x < arr2.length;x ++){
          if(arr1[i] === arr2[x]){
            arr2.splice(x,1)
          }
        }
      }
      console.log(arr2,'去除前面一个数组相同的')

    15.数组包对象,取相同日期的名称

      

    //要求 取出相同的日期的名称
    		var json= [
    	            [{'name':'xiaoming','data':'2017-02-03'}],
    	            [{'name':'xiaohua','data':'2017-02-04'}],
    	            [{'name':'xiaodi','data':'2017-02-04'}],
    	            [{'name':'jjjj','data':'2017-02-05'}],
    		    ]
    		    function change(arr){
                    if(Array.isArray(arr)&&arr.length){
                        var newObj={},obj,_obj,data,len=arr.length;
                        for(var i=0;i<len;i++){
                            obj=arr[i][0];
                            data=obj.data;
                            _obj={"name":obj.name}
                            if(data in newObj){
                                newObj[data].push(_obj);
                            }else{
                                newObj[data]=[_obj];
                            }
                        }
                         console.log(JSON.stringify(newObj));
                        return newObj;
                    }else{
                        return false;
                    }
                }
                change(json);
                
    			//二维数组操作:
                var arr = [];var arr2 = [];
                for (var i = 0;i<json.length;i++){
                    // if(arr.indexOf(json[i][0].data)<0){
                        arr.push(json[i][0].data)
                    // }
                }   
                console.log(arr,'取出时间')
                for(var i =0;i<arr.length;i++){ 
                    arr2[i]=[]
                    arr2[i].index = arr[i]
                    for (var j = 0;j<json.length;j++){
                        if(arr[i]==json[j][0].data){
                            arr2[i].push(json[j][0].name)
                        }
                    }
                }
                console.log(arr2,'相同时间的name')
                var obj = {}
                for (var i = 0;i<arr2.length;i++){
                    var key=arr2[i].index;
                           obj[key]=[]
                    for (var j = 0;j<arr2[i].length;j++){
                        var val = {}
                        val.name = arr2[i][j]
                        obj[key].push(val)      
                    }   
                }
                console.log(obj)
                var str = JSON.stringify(obj)
                document.write(str)
    

      





  • 相关阅读:
    [CF1439B] Graph Subset Problem
    [CF1439C] Greedy Shopping
    [CF1119F] Niyaz and Small Degrees
    [ARC101C] Ribbons On the Tree
    [CF1446C] Xor Tree
    11月24日 模拟赛 题解
    UOJ346
    [CF1229C] Konrad and Company Evaluation
    [CF1326F] Wise Men (Hard Version)
    学军联赛模拟 第二十七测 题解
  • 原文地址:https://www.cnblogs.com/zhoubingyan/p/8617463.html
Copyright © 2011-2022 走看看