第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

防止高階數(shù)組方法拋出錯(cuò)誤

防止高階數(shù)組方法拋出錯(cuò)誤

米琪卡哇伊 2024-01-18 16:47:37
有沒有辦法防止過(guò)濾時(shí)拋出錯(cuò)誤?conversationMember.Name.toLowerCase()當(dāng)沒有對(duì)話成員時(shí),下面的函數(shù)有時(shí)會(huì)失敗。如果有幫助的話,這也是 Vue 應(yīng)用程序中的計(jì)算屬性。如果您需要更多信息,請(qǐng)?jiān)儐?wèn)!filteredConversations() {    var self = this;    var filteredConvos = self.conversations;    filteredConvos = filteredConvos.filter(conversation => {        return conversation.MembershipData.some(conversationMember => {            return conversationMember.Name.toLowerCase().includes(                self.conversationSearchTerm.toLowerCase()            );        });    });    return filteredConvos;},
查看完整描述

1 回答

?
當(dāng)年話下

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊

這似乎與數(shù)組沒有任何關(guān)系。

從你的代碼中我理解conversationMember.Name應(yīng)該是 a?string(因?yàn)槟阏谡{(diào)用.toLowerCase()它),這意味著incudes這里不是Array.prototype.includes, but?String.prototype.includes,特別是因?yàn)樗?code>self.conversationSearchTerm似乎也是一個(gè)字符串(你也在調(diào)用.toLowerCase()它)。

所以,問(wèn)題是你正在使用includes一些應(yīng)該是string但不是的東西。簡(jiǎn)單的修復(fù)方法是當(dāng)它為假時(shí)將其默認(rèn)為空字符串:

return (conversationMember.Name || '').toLowerCase().includes(

? (self.conversationSearchTerm || '').toLowerCase()

);

附帶說(shuō)明一下,您不需要var self = this;. this由于過(guò)濾器是一個(gè)箭頭函數(shù),因此在過(guò)濾器內(nèi)可用。所以你的函數(shù)(我猜它是 acomputed但它也可以是 a method)可能如下所示:


filteredConversations() {

? return this.conversations.filter(c =>?

? ? c.MembershipData.some(md =>?

? ? ? (md.Name || '').toLowerCase().includes(

? ? ? ? (this.conversationSearchTerm || '').toLowerCase()

? ? ? )

? ? )

? );

}

最后一點(diǎn):如果您中的任何一個(gè)conversations沒有MembershipData持有數(shù)組,這仍然會(huì)失敗。為了解決這個(gè)問(wèn)題,您可以將其默認(rèn)為動(dòng)態(tài)空數(shù)組:


?...

? ?(c.MembershipData || []).some(md =>?

?...

正如預(yù)期的那樣,任何沒有數(shù)組的對(duì)話都MembershipData將被函數(shù)過(guò)濾掉(不包含在結(jié)果中) - 因?yàn)?some(condition)在空數(shù)組上調(diào)用時(shí)將返回 false。


查看完整回答
反對(duì) 回復(fù) 2024-01-18
  • 1 回答
  • 0 關(guān)注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)