json格式和去重的三種方法


json格式

   json格式就是數組的對象和互相嵌套構成的一種復雜數據結構,json本身可以是數組也可以是對象。

  補充:對象的屬性名引號是可加可不加的,但json數據很多時候會用於前后端交互。

  如果json數據運用於前后端交互的時候,對象的屬性名必須要加雙引號。

    例:

var arr = [ {
      ‘name’ : ‘小明’
      “age” : 17},
      {name : ‘xiao’ ,
      age :10}]
          var preson = {“name” : ‘cxk’
      “likes” : [“唱”,“跳”,“rap”]
            }       

 

去重:重復的元素只保留一個

1、雙重for循環,只留下不重復的

 1   forvar i = 0; i < arr.length-1; i++){
 2 
 3     for(var j = i+1; j < arr.length; j++){
 4 
 5        if(arr[i] === arr[j]){
 6 
 7             arr.splice(j,1)  
 8 
 9             j- -   //刪完之后j-1抵消for里面的j++確保不跳過重復的值
10 
11         }
12 
13       }
14 
15     }

 

2、利用對象屬性名不沖突

  可以把數字作為對象的屬性名

   例:  var obj = {4:‘lisi’}

  遍歷數組,判斷當前數組元素作為對象屬性名是否能取到值

  如果取不到,說明這是第一次遍歷到當前值,就把當前元素作為對象屬性名賦值。

       如果取到了,說明之前已經賦值過了,也就是說當前值不是第一次出現。

     例:

var arr = [4,2,4,5,6,6,74,1]

    var obj = {}

           var arr1 = []

          arr.forEach(function (item){

    //把item作為屬性名到對象里去取值看能否取到

    if(obj[item]){

    //取到值了,說明item不是第一次出現,說明item是一個無效值,就不用push到arr1里面

    }else{

      //取不到值,說明item是第一次出現,就給他賦值,賦個有意義的值。

      //item是第一次出現,他是我們要保留的值

      obj[item] = ‘a’

      arr.push(item)}

      }

 

3、ES6(Set是一種新的數據類型,加強版數組,默認不允許重復)

    例:

                  var arr = [5,6,7,3,25,6]

            var arr1 = Array.from(new Set(arr))

            console.log(arr1)//完成去重

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM