為解決問題:key鏈太長,導致資料獲取不可行問題
例如:let res = ,{}],
// form:{}
// }}}
},獲取最內層list的長度
之前的寫法:
let len = res.data.config.form_config.list.length
問題:不知道哪個值會丟擲undefined或者null,就會導致程式出問題
用函式守衛獲取:
let len = $catch(res, 'data.config.form_config.list.length',0)
獲取到了就返回獲取值,未獲取到返回預設值0,這樣就能保證資料不對的情況下程式正常執行。
/** ** * @param data 取值目標,需為物件
* @param keystr 取值key鏈(例:form_config.list.0.name),陣列取值同樣用點
* @param [def=''] 取值出錯時返回的預設值,不傳預設為字串
* @returns */
function $catch(data, keystr, def = '')
if (typeof data !== 'object'||data===null
) `, 'color:orange',
'');
return
def }
if (type(keystr) !== 'string') `,
'color:orange', '');
return
def }
if (keystr === '')
let keyarr = keystr.split('.')
let _data =data
let _index = 0
for (let index = 0; index < keyarr.length; index++) 為 "undefined" !`,
'color:orange', '');
break
; }
}return _data ||def
}
python介面測試返回資料為字典取值
引言 介面測試通常需要校驗返回資料跟預期結果是否一致,這個時候如果返回資料為字典,那麼我們要拿到我們想要的key對應的values時,需巧妙的運用dict.keys dict.values 和for迴圈,以及列表相關知識點。例項這是我調介面返回的資料,該資料為dict型別,我的目標是要拿到accou...
mysql 多條資料中,分組獲取值最大的資料記錄
摘要 多條紀錄中,幾個字段相同,但是其中乙個或者多個字段不同,則去該字段最大 這裡只有乙個不同 源資料 目的是移除 在同一天中只能存在一天資料,則取審核日期最大,資料庫指令碼如下 select p.biztype,pdt.weekdate,pdt.bizdatedtl,max p.audittime...
async await 解決資料非同步獲取
在react元件中,也比較一下promise和async await的方法異同。傳統地使用promise import react,from react import from react redux import from actions post class posteditform exten...