亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

已解決430363個問題,去搜搜看,總會有你想問的

確保 es6 find 在未定義屬性時不會中斷

確保 es6 find 在未定義屬性時不會中斷

收到一只叮咚 2021-05-31 19:32:41
我有這個代碼const arr = [{  id: 1,  name: 'anything'}, {  id: 2,  name: 'something'}]const target = [1]我想找到目標是否有 1 并且我想要 name 屬性值我會去做的arr.find(o => target.includes(o.id)).name但這會打破,如果arr.find(o => target.includes(o.id))沒有name屬性,它會破壞整個應用程序并拋出錯誤。那么如何保證這個不會崩潰呢?我可以這樣做,但它很丑const somethingValue = arr.find(o => target.includes(o.id)) && arr.find(o => target.includes(o.id)).name或者我必須映射以確保arr始終具有名稱屬性,如果arr是動態的并且南方來自外部方,我必須這樣做。還有其他方法可以解決這個問題嗎?
查看完整描述

2 回答

?
largeQ

TA貢獻2039條經驗 獲得超8個贊

您可以使用空對象{}||運算符。

(arr.find(o => target.includes(o.id)) || {}).name

如果find()將返回undefined這樣的表達式會{},并嘗試獲取name來自{}undefined


查看完整回答
反對 回復 2021-06-03
  • 2 回答
  • 0 關注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號