Q10
小明在執行程式的時候出現了一個錯誤:Uncaught TypeError: Cannot read property 'selfId' of undefined
,但百思不得其解,不知道是哪裡出了問題,以下是出錯的「部分」程式碼:
A10:homeData 是 undefined
const list = [
{
parent: {
id: 1,
name: '1',
},
selfId: 1,
},
{
parent: {
id: 2,
name: '2',
selfId: 2,
},
selfId: 2,
},
]
const matches = [
{
parent: {
id: 1,
name: '1',
}
},
{
parent: {
id: 2,
name: '2',
}
},
]
let homeData = {
selfId: 1
}
const result = list.filter(item =>
item.parent.id === matches[0].parent.id &&
item.parent.name === matches[0].parent.name &&
item.selfId === homeData.selfId
)
console.log(result)
若有將 homeData 賦值可順利將 result 印出來
若 list 陣列中沒有 selfId 這個 key 則會回傳空陣列。
若 homeData 有賦值但沒有 selfId 這個 key 也會回傳空陣列。