javascript 遍歷json物件檢查是否不存在某些屬性/欄位
版權宣告:本文為博主原屙文章,喜歡你就擔走。https://blog.csdn.net/leftfist/article/details/87526817
javascript函式中,如果引數很多,可以設定一個json引數,將一些可選引數項放到裡面去。
這樣就有一個問題,既然是可選引數,那麼呼叫的時候,既可以指定,也可以不指定,怎麼知道有哪些屬性並沒有指定?如果不指定,該如何處理?
我的想法是,這個json引數有一個預設值,呼叫方指定的屬性,當然採用呼叫方的指定;否則採用預設值。具體實現就是將傳過來的json引數與預設json引數做個屬性一一對照,有則用之,無則補之。
上程式碼:
function (code, url,option) {//code,url是必選引數;option是可選引數 let _default = {//可選引數的預設值 name:"未命名", width: 500, height:400, maxmin:true, }; if(typeof option == 'undefined'){//如果option根本沒傳,簡單了,直接全部預設 option = _default; } else { for (var k in _default){//否則一一對照 if(typeof option[k] == 'undefined'){//這裡k拿到的是json的屬性。 //如果_default是陣列,拿到的就是下標;js中,陣列與json的界線有時真的很模糊。 //I like it option[k] = _default[k]; } } } }