json格式
json格式就是數組的對象和互相嵌套構成的一種復雜數據結構,json本身可以是數組也可以是對象。
補充:對象的屬性名引號是可加可不加的,但json數據很多時候會用於前后端交互。
如果json數據運用於前后端交互的時候,對象的屬性名必須要加雙引號。
例:
var arr = [ { ‘name’ : ‘小明’ “age” : 17}, {name : ‘xiao’ , age :10}] var preson = {“name” : ‘cxk’ “likes” : [“唱”,“跳”,“rap”] }
去重:重復的元素只保留一個。
1、雙重for循環,只留下不重復的
1 for(var 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)//完成去重