摘要:這是我在一次面試中,被面試官所提問的一道題在這次面試題中相等指的是對象的屬性個數(shù)值相等有這樣兩個李德華張德華我能想到的一種方案解答過程的思考由于沒有,我只能通過轉(zhuǎn)化成數(shù)組進(jìn)入第二步,對象中的屬性在另一個中是否存在。
這是我在一次面試中,被面試官所提問的一道題
在這次面試題中
相等:指的是對象的屬性個數(shù)值相等
有這樣兩個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 } }解答過程的思考
由于obj沒有l(wèi)ength,我只能通過Object.keys()轉(zhuǎn)化成數(shù)組
進(jìn)入第二步,對象中的屬性在另一個obj中是否存在。此處使用了Object.hasOwnProperty() 僅對該對象中的屬性進(jìn)行對比(避免obj繼承了父級的屬性)
承載第二步的基礎(chǔ)對屬性值進(jìn)行比對。ES6中Object.is()來避免出現(xiàn)NaN不等于自身的問題
或者使用 Underscore.js中的_.isEqual
祝大家在金三銀四的面試中取得滿意的結(jié)果!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/102054.html
摘要:中,任何未處理的受檢查異常強(qiáng)制在子句中聲明。運行時多態(tài)是面向?qū)ο笞罹璧臇|西,要實現(xiàn)運行時多態(tài)需要方法重寫子類繼承父類并重寫父類中已 1、簡述Java程序編譯和運行的過程:答:① Java編譯程序?qū)ava源程序翻譯為JVM可執(zhí)行代碼--字節(jié)碼,創(chuàng)建完源文件之后,程序會先被編譯成 .class 文件。② 在編譯好的java程序得到.class文件后,使用命令java 運行這個 .c...
摘要:中,任何未處理的受檢查異常強(qiáng)制在子句中聲明。運行時多態(tài)是面向?qū)ο笞罹璧臇|西,要實現(xiàn)運行時多態(tài)需要方法重寫子類繼承父類并重寫父類中已 1、簡述Java程序編譯和運行的過程:答:① Java編譯程序?qū)ava源程序翻譯為JVM可執(zhí)行代碼--字節(jié)碼,創(chuàng)建完源文件之后,程序會先被編譯成 .class 文件。② 在編譯好的java程序得到.class文件后,使用命令java 運行這個 .c...
摘要:所以能用的地方盡量用,相等運算符隱藏的類型轉(zhuǎn)換,會帶來一些違反直覺的結(jié)果。 這是在國外的一道面試題看到的,大家先自己想一下,在什么情況下這個判斷會成立?按正常思維想,這個是不可能成立的,但nothing is impossible,首先貼上正確答案代碼 const a = { i: 1, toString: function () { return a.i++; }...
摘要:譯者按從標(biāo)準(zhǔn),語法以及模塊角度來看,的發(fā)展讓人目不暇接,那么面試題也得與時俱進(jìn)。因此,手動檢查所有依賴是不現(xiàn)實的。為,加之后返回。自從年雙十一正式上線,累計處理了億錯誤事件,得到了金山軟件百姓網(wǎng)等眾多知名用戶的認(rèn)可。 譯者按: 從ECMAScript標(biāo)準(zhǔn),Node.js語法以及NPM模塊角度來看,Node.js的發(fā)展讓人目不暇接,那么面試題也得與時俱進(jìn)。 原文: Node.js In...
摘要:閉包正確的說應(yīng)該是指一個閉包域每當(dāng)聲明了一個函數(shù)它就產(chǎn)生了一個閉包域可以解釋為每個函數(shù)都有自己的函數(shù)棧每個閉包域?qū)ο蠖加幸粋€不是屬性內(nèi)默認(rèn)有個名為的全局引用有了這個引用就可以直接調(diào)用的屬性或方法凡是在閉包域內(nèi)聲明的變量或方法外部無法直接訪問 閉包 正確的說,應(yīng)該是指一個閉包域,每當(dāng)聲明了一個函數(shù),它就產(chǎn)生了一個閉包域(可以解釋為每個函數(shù)都有自己的函數(shù)棧),每個閉包域(Function...
閱讀 3467·2021-09-22 15:01
閱讀 588·2019-08-30 11:11
閱讀 1040·2019-08-29 16:17
閱讀 1265·2019-08-29 12:23
閱讀 2081·2019-08-26 11:48
閱讀 3234·2019-08-26 11:48
閱讀 1480·2019-08-26 10:33
閱讀 2003·2019-08-26 10:30