• [数据方法总结]


    ①数组篇:json数组去重 

     1 var arr = [{"name":"123"},{"name":"123"},{"name":"456"},{"name":"4516"},{"name":"4516"}];
     2 function jsonArrUnique(arr){
     3   var arr1=[];
     4   var arr2=[];
     5   var arr3=[];
     6   for(var i=0;i<arr.length;i++){
     7     arr1.push(JSON.stringify(arr[i]))
     8   }
     9   for(var i=0;i<arr1.length;i++){
    10     if(arr2.indexOf(arr1[i])==-1){
    11       arr2.push(arr1[i]);
    12     }
    13   }
    14   for(var i=0;i<arr2.length;i++){
    15     arr3.push(JSON.parse(arr2[i]))
    16   }
    17   return arr3;
    18 }
    19 console.log(jsonArrUnique(arr))

     ①数组篇:string数组去重 

     1 var arr = ['asa','s','s','小飞','小飞','7','7'];
     2 function stringArrUnique(arr){
     3     var res=[];
     4     for(var i=0;i<arr.length;i++){
     5         if(res.indexOf(arr[i])==-1){
     6             res.push(arr[i]);
     7         }
     8     }
     9     return res;
    10 }
    11 console.log(stringArrUnique(arr)) //["asa", "s", "小飞", "7"]

      ①数组篇:string数组里值是否完全相等

     1 //判断数组里的值是否全部相同
     2 var arr = ['小飞','小飞','小飞','小飞'];
     3 var arr1 = ['小飞','小飞','小飞','张飞'];
     4 
     5 function isAllequal(arr){
     6     var arr1=[];//存放去重后的值
     7     for(var i=0;i<arr.length;i++){
     8         if(arr1.indexOf(arr[i])==-1){
     9             arr1.push(arr[i]);
    10         }
    11     }
    12     if(arr1.length===1){
    13         return true;
    14     }else{
    15         return false;
    16     }    
    17 }
    18 console.log(isAllequal(arr))//true
    19 console.log(isAllequal(arr1))//false

       ①数组篇:通过key、value或key+value获取指定的数据

    先模拟后端返回的数据:

    1 var data = 
    2 [
    3 {name:'张三',age:'18',job:'java'},
    4 {name:'李四',age:'20',job:'web'},
    5 {name:'老九',age:'24',job:'php'}
    6 ];

    1.通过data,key,value获取指定数据

     1 //通过key、value或key,value找到对应的数据
     2 var data = 
     3 [
     4 {name:'张三',age:'18',job:'java'},
     5 {name:'李四',age:'20',job:'web'},
     6 {name:'老九',age:'24',job:'php'}
     7 ];
     8 function getData(data,key,value){
     9     for(var i=0;i<data.length;i++){
    10         if(data[i][key]===value){
    11             return data[i];
    12             break;
    13         }
    14     }
    15     return '';    
    16 }

    2.通过data,value找到对应的数据,数据value不重复的情况下

     1 function getData(data,value){
     2     for(var i=0;i<data.length;i++){
     3         var obj=data[i];
     4         for(var k in obj){
     5             if(obj[k]===value){
     6                 return obj;
     7             }
     8         }
     9     }
    10     return '';    
    11 }

    3.通过data,value找到对应的数据放进一个数组返回,数据value值可能有重复的情况

     1 var data = 
     2  [
     3  {name:'张三',age:'18',job:'java'},
     4  {name:'李四',age:'20',job:'web'},
     5  {name:'老九',age:'20',job:'php'}
     6  ];
     7 function getData(data,value){
     8     var arr=[];
     9     for(var i=0;i<data.length;i++){
    10         var obj=data[i];
    11         for(var k in obj){
    12             if(obj[k]===value){
    13                 arr.push(obj);
    14             }
    15         }
    16     }
    17     return arr;    
    18 }
    19 console.log(getData(data,'20'))
    20 //[{name: "李四", age: "20", job: "web"},{name: "老九", age: "20", job: "php"}]

     遍历:

    1  //遍历
    2  // for(var i=0;i<10;i++){}
    3  // for(var k in obj){}// 该for...in语句以任意顺序迭代对象的可枚举属性。
    4  // for(var k of obj)//该for...of语句迭代迭代对象定义的数据  以迭代。

     数字去重:ES6 Set方法

    1 var array=[1,2,3,4,5,5,6,7,7]
    2 let unique= [...new Set(array)];
    3 console.log(unique)

     求数组里重复的值[1, 2, 4, 4, 3, 3, 1, 5, 3]=>[4,3,1]

     1 function duplicates(arr) {
     2     var arg=[]
     3     var arg1=[]
     4     for(var i=0;i<arr.length;i++){
     5         if(arg.indexOf(arr[i])==-1){
     6             arg.push(arr[i])
     7         }else if(arg1.indexOf(arr[i])==-1){
     8             arg1.push(arr[i])
     9         }
    10     }
    11     return arg1
    12 }
    13 var arr=[1, 2, 4, 4, 3, 3, 1, 5, 3]
    14 console.log(duplicates(arr))//[4,3,1]

     合并对象:

    1 var a={name:'S'}
    2 var b={age:'r'}
    3 console.log(Object.assign(a,b))
  • 相关阅读:
    《Java程序设计》第五周学习总结
    团队建设任务
    《Java程序设计》第四周学习总结
    ML_Review_GMM(Ch10)
    ML_Review_SVM(Ch9)
    ML_Review_LDA(Ch5)
    ML_Review_PCA(Ch4)
    关于Kernel的思考
    ML_Homework_Porject_2_LDA_KNN
    CV_Learn
  • 原文地址:https://www.cnblogs.com/studyshufei/p/8654691.html
Copyright © 2020-2023  润新知