欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js中比較兩個對象是否相同的方法示例

 更新時間:2019年09月02日 11:00:27   作者:yqwang75457  
這篇文章主要介紹了js中比較兩個對象是否相同的方法,結(jié)合實例形式詳細分析了js對象遍歷、判斷等相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了js中比較兩個對象是否相同的方法。分享給大家供大家參考,具體如下:

js中,很輕易就可以比較2個普通字符串/數(shù)字是否相同,但是,如何比較2個對象是否相同呢?

在此我便給出較為簡單的方法,如下:

//比較2個對象是否相同
function isObjEqual(o1,o2){
  var props1 = Object.getOwnPropertyNames(o1);
  var props2 = Object.getOwnPropertyNames(o2);
  if (props1.length != props2.length) {
    return false;
  }
  for (var i = 0,max = props1.length; i < max; i++) {
    var propName = props1[i];
    if (o1[propName] !== o2[propName]) {
      return false;
    }
  }
  return true;
}
var obj1 = {id:1,name:"張三"}
var obj2 = {id:2,name:"李四"}
var obj3 = {id:1,name:"張三",age:25}
var obj4 = {id:1,name:"張三"}
console.log(isObjEqual(obj1,obj2));//false
console.log(isObjEqual(obj1,obj3));//false
console.log(isObjEqual(obj1,obj4));//true

運行結(jié)果:

擴展寫法:

Object.prototype.vequal = function(obj){
  var props1 = Object.getOwnPropertyNames(this);
  var props2 = Object.getOwnPropertyNames(obj);
  if (props1.length != props2.length) {
    return false;
  }
  for (var i = 0,max = props1.length; i < max; i++) {
    var propName = props1[i];
    if (this[propName] !== obj[propName]) {
      return false;
    }
  }
  return true;
}
var obj1 = {id:1,name:"張三"}
var obj2 = {id:2,name:"李四"}
var obj3 = {id:1,name:"張三",age:25}
var obj4 = {id:1,name:"張三"}
console.log(obj1.equal(obj2));//false
console.log(obj1.equal(obj3));//false
console.log(obj1.equal(obj4));//true

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript中json操作技巧總結(jié)》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學運算用法總結(jié)

希望本文所述對大家JavaScript程序設(shè)計有所幫助。

相關(guān)文章

  • 一文搞懂JSON(JavaScript Object Notation)

    一文搞懂JSON(JavaScript Object Notation)

    Json 有兩種基本的結(jié)構(gòu),即 Json對象 和 Json 數(shù)組。通過 Json 對象和 Json 數(shù)組這兩種結(jié)構(gòu)的組合可以表示各種復雜的結(jié)構(gòu),今天通過本文給大家介紹JavaScript Object Notation的基本知識,感興趣的朋友一起看看吧
    2021-10-10
  • 詳細解密jsonp跨域請求

    詳細解密jsonp跨域請求

    當進行一些比較深入的前端編程的時候,不可避免地需要進行跨域操作,JSONP跨域GET請求是一個常用的解決方案,下面我們來看一下JSONP跨域是如何實現(xiàn)的,并且探討下JSONP跨域的原理。
    2015-04-04
  • 微信小程序之五種頁面跳轉(zhuǎn)方法小結(jié)

    微信小程序之五種頁面跳轉(zhuǎn)方法小結(jié)

    本文主要介紹了微信小程序之五種頁面跳轉(zhuǎn)方法小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • JS實現(xiàn)canvas仿ps橡皮擦刮卡效果詳解

    JS實現(xiàn)canvas仿ps橡皮擦刮卡效果詳解

    這篇文章主要為大家詳細介紹了使用js中的Canvas實現(xiàn)橡皮擦效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • js iframe跨域訪問(同主域/非同主域)分別深入介紹

    js iframe跨域訪問(同主域/非同主域)分別深入介紹

    js跨域是個討論很多的話題。iframe跨域訪問也被研究的很透了,本文今天就叨叨兩句,感興趣的朋友可以了解下,就當鞏固知識了,希望本文對你有所幫助
    2013-01-01
  • JS實現(xiàn)給不同元素設(shè)置不同的定時器

    JS實現(xiàn)給不同元素設(shè)置不同的定時器

    這篇文章主要為大家詳細介紹了JS實現(xiàn)給不同元素設(shè)置不同的定時器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • JavaScript獲取頁面中表單(form)數(shù)量的方法

    JavaScript獲取頁面中表單(form)數(shù)量的方法

    這篇文章主要介紹了JavaScript獲取頁面中表單(form)數(shù)量的方法,涉及javascript操作表單document.forms數(shù)組的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • 原生js獲取元素樣式的簡單方法

    原生js獲取元素樣式的簡單方法

    下面小編就為大家?guī)硪黄鷍s獲取元素樣式的簡單方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • 使用JS獲取當前地理位置的2種方法舉例

    使用JS獲取當前地理位置的2種方法舉例

    這篇文章主要給大家介紹了關(guān)于使用JS獲取當前地理位置的2種方法,獲取當前位置在實際場景中非常有用,比如定位用戶的位置,為其推薦周邊的商家和服務等,需要的朋友可以參考下
    2023-11-11
  • ES6 Promise對象的應用實例分析

    ES6 Promise對象的應用實例分析

    這篇文章主要介紹了ES6 Promise對象的應用,結(jié)合實例形式分析了Promise對象原理與異步處理相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06

最新評論