導航:首頁 > 使用方法 > jsobject的常用方法

jsobject的常用方法

發布時間:2023-01-02 19:52:41

⑴ js object數組去重

js 數組去重

註:應該也可以適用於object數組,但是本人沒有進行驗證,貼出來僅供你參考

第一種是比較常規的方法

思路:

1.構建一個新的數組存放結果

2.for循環中每次從原數組中取出一個元素,用這個元素循環與結果數組對比

3.若結果數組中沒有該元素,則存到結果數組中
代碼如下:

Array.prototype.unique1=function(){
varres=[this[0]];
for(vari=1;i<this.length;i++){
varrepeat=false;
for(varj=0;j<res.length;j++){
if(this[i]==res[j]){
repeat=true;
break;
}
}
if(!repeat){
res.push(this[i]);
}
}
returnres;
}
vararr=[1,'a','a','b','d','e','e',1,0]
alert(arr.unique1());

第二種方法比上面的方法效率要高

思路:

1.先將原數組進行排序

2.檢查原數組中的第i個元素 與 結果數組中的最後一個元素是否相同,因為已經排序,所以重復元素會在相鄰位置

3.如果不相同,則將該元素存入結果數組中
代碼如下:

Array.prototype.unique2=function(){
this.sort();//先排序
varres=[this[0]];
for(vari=1;i<this.length;i++){
if(this[i]!==res[res.length-1]){
res.push(this[i]);
}
}
returnres;
}
vararr=[1,'a','a','b','d','e','e',1,0]
alert(arr.unique2());



二種方法也會有一定的局限性,因為在去重前進行了排序,所以最後返回的去重結果也是排序後的。如果要求不改變數組的順序去重,那這種方法便不可取了。

第三種方法(推薦使用)

思路:

1.創建一個新的數組存放結果

2.創建一個空對象

3.for循環時,每次取出一個元素與對象進行對比,如果這個元素不重復,則把它存放到結果數組中,同時把這個元素的內容作為對象的一個屬性,並賦值為1,存入到第2步建立的對象中。

說明:至於如何對比,就是每次從原數組中取出一個元素,然後到對象中去訪問這個屬性,如果能訪問到值,則說明重復。
代碼如下:

Array.prototype.unique3=function(){
varres=[];
varjson={};
for(vari=0;i<this.length;i++){
if(!json[this[i]]){
res.push(this[i]);
json[this[i]]=1;
}
}
returnres;
}
vararr=[112,112,34,'你好',112,112,34,'你好','str','str1'];
alert(arr.unique3());

⑵ JS對象創建常用方式有哪些

1.對象字面量創建對象
var obj = { a:1,b:2 };
注意:對象字面量是一個表達式,這種表達式每次運算都會創建並初始化一個新對象,並計算這個新對象的每個屬性值。所以如果在循環體內使用對象字面量,每次循環時都會創建新對象。
2.通過new運算符創建對象
var obj = new Object(); //創建空對象 var ary = new Array(); //創建空的數組對象
注意:new運算符後面跟的是一個函數調用,這個函數被稱為構造函數。js中原始類型都包含內置的構造函數,也可以自己定義構造函數。
3.通過立即執行函數創建對象
var obj = (function(){ return {x:1,y:2};}());
注意:在立即執行函數內部一定要有return語句,return出的內容就是待創建的對象。
4.通過Object.create()創建對象
var obj = Object.create({x:1,y:2});
注意:Object.create()是一個靜態函數,傳入原型對象就可以創建繼承此原型對象的對象,例如上面的例子中obj對象繼承了x,y屬性。

閱讀全文

與jsobject的常用方法相關的資料

熱點內容
草酸的檢測方法國標 瀏覽:846
如何提高寫作水平有哪些方法 瀏覽:502
最簡單的溫柔方法 瀏覽:362
oppor4耗電快解決方法 瀏覽:607
塵埃粒子計數器使用方法 瀏覽:767
打鼓方法與技巧 瀏覽:876
陰部按摩器使用方法 瀏覽:877
迷迭香的使用方法 瀏覽:83
嗜鉻細胞瘤的治療方法有哪些 瀏覽:618
如何除濕疹最有效的方法 瀏覽:527
自製池塘簡單方法 瀏覽:707
電泳檢測的方法 瀏覽:789
工業cod檢測方法 瀏覽:297
星辰變的種植方法 瀏覽:604
商品組合需求預測有哪些方法 瀏覽:964
卷發精油的使用方法 瀏覽:575
快速識字方法 瀏覽:185
華為大疆手機雲台使用方法 瀏覽:501
小學語文有效教學方法之探析 瀏覽:563
和田玉白玉項鏈的鑒別方法 瀏覽:683