国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JS面試題之比較兩個(gè)對(duì)象是否相等?

wangbjun / 2696人閱讀

摘要:這是我在一次面試中,被面試官所提問(wèn)的一道題在這次面試題中相等指的是對(duì)象的屬性個(gè)數(shù)值相等有這樣兩個(gè)李德華張德華我能想到的一種方案解答過(guò)程的思考由于沒(méi)有,我只能通過(guò)轉(zhuǎn)化成數(shù)組進(jìn)入第二步,對(duì)象中的屬性在另一個(gè)中是否存在。

這是我在一次面試中,被面試官所提問(wèn)的一道題

在這次面試題中

相等:指的是對(duì)象的屬性個(gè)數(shù)值相等

有這樣兩個(gè)obj

let obj1 = {
    name:"李德華",
    age:18,
    price:NaN
}

let obj2 = {
    name:"張德華",
    age:18,
    price:NaN
}

我能想到的一種方案

function compare(obj1,obj2){
    if(Object.keys(obj1).length != Object.keys(obj2).length){
      return false
    }else{
      for(key in obj1){
        if(obj2.hasOwnProperty(key)){
            if( !Object.is(obj1[key],obj2[key])){
                return false;
            }
        }else{
          return false
        }
      }
      return true
    }
}
解答過(guò)程的思考

由于obj沒(méi)有l(wèi)ength,我只能通過(guò)Object.keys()轉(zhuǎn)化成數(shù)組

進(jìn)入第二步,對(duì)象中的屬性在另一個(gè)obj中是否存在。此處使用了Object.hasOwnProperty() 僅對(duì)該對(duì)象中的屬性進(jìn)行對(duì)比(避免obj繼承了父級(jí)的屬性)

承載第二步的基礎(chǔ)對(duì)屬性值進(jìn)行比對(duì)。ES6中Object.is()來(lái)避免出現(xiàn)NaN不等于自身的問(wèn)題

或者使用 Underscore.js中的_.isEqual

祝大家在金三銀四的面試中取得滿意的結(jié)果!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/102054.html

相關(guān)文章

  • 【金三銀四】面試題之java基礎(chǔ)

    摘要:中,任何未處理的受檢查異常強(qiáng)制在子句中聲明。運(yùn)行時(shí)多態(tài)是面向?qū)ο笞罹璧臇|西,要實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)需要方法重寫子類繼承父類并重寫父類中已 1、簡(jiǎn)述Java程序編譯和運(yùn)行的過(guò)程:答:① Java編譯程序?qū)ava源程序翻譯為JVM可執(zhí)行代碼--字節(jié)碼,創(chuàng)建完源文件之后,程序會(huì)先被編譯成 .class 文件。② 在編譯好的java程序得到.class文件后,使用命令java 運(yùn)行這個(gè) .c...

    Yangyang 評(píng)論0 收藏0
  • 【金三銀四】面試題之java基礎(chǔ)

    摘要:中,任何未處理的受檢查異常強(qiáng)制在子句中聲明。運(yùn)行時(shí)多態(tài)是面向?qū)ο笞罹璧臇|西,要實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)需要方法重寫子類繼承父類并重寫父類中已 1、簡(jiǎn)述Java程序編譯和運(yùn)行的過(guò)程:答:① Java編譯程序?qū)ava源程序翻譯為JVM可執(zhí)行代碼--字節(jié)碼,創(chuàng)建完源文件之后,程序會(huì)先被編譯成 .class 文件。② 在編譯好的java程序得到.class文件后,使用命令java 運(yùn)行這個(gè) .c...

    Barrior 評(píng)論0 收藏0
  • 經(jīng)典面試題之“a==1 && a==2 && a==3 為true”

    摘要:所以能用的地方盡量用,相等運(yùn)算符隱藏的類型轉(zhuǎn)換,會(huì)帶來(lái)一些違反直覺(jué)的結(jié)果。 這是在國(guó)外的一道面試題看到的,大家先自己想一下,在什么情況下這個(gè)判斷會(huì)成立?按正常思維想,這個(gè)是不可能成立的,但nothing is impossible,首先貼上正確答案代碼 const a = { i: 1, toString: function () { return a.i++; }...

    Bryan 評(píng)論0 收藏0
  • Node.js面試題之2017

    摘要:譯者按從標(biāo)準(zhǔn),語(yǔ)法以及模塊角度來(lái)看,的發(fā)展讓人目不暇接,那么面試題也得與時(shí)俱進(jìn)。因此,手動(dòng)檢查所有依賴是不現(xiàn)實(shí)的。為,加之后返回。自從年雙十一正式上線,累計(jì)處理了億錯(cuò)誤事件,得到了金山軟件百姓網(wǎng)等眾多知名用戶的認(rèn)可。 譯者按: 從ECMAScript標(biāo)準(zhǔn),Node.js語(yǔ)法以及NPM模塊角度來(lái)看,Node.js的發(fā)展讓人目不暇接,那么面試題也得與時(shí)俱進(jìn)。 原文: Node.js In...

    Alliot 評(píng)論0 收藏0
  • 用9種辦法解決 JS 閉包經(jīng)典面試題之 for 循環(huán)取 i

    摘要:閉包正確的說(shuō)應(yīng)該是指一個(gè)閉包域每當(dāng)聲明了一個(gè)函數(shù)它就產(chǎn)生了一個(gè)閉包域可以解釋為每個(gè)函數(shù)都有自己的函數(shù)棧每個(gè)閉包域?qū)ο蠖加幸粋€(gè)不是屬性內(nèi)默認(rèn)有個(gè)名為的全局引用有了這個(gè)引用就可以直接調(diào)用的屬性或方法凡是在閉包域內(nèi)聲明的變量或方法外部無(wú)法直接訪問(wèn) 閉包 正確的說(shuō),應(yīng)該是指一個(gè)閉包域,每當(dāng)聲明了一個(gè)函數(shù),它就產(chǎn)生了一個(gè)閉包域(可以解釋為每個(gè)函數(shù)都有自己的函數(shù)棧),每個(gè)閉包域(Function...

    Betta 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<