皈依舞
2021-10-21 14:01:55
試圖從數(shù)組中刪除多個(gè)對(duì)象,我所做的解決方案很好并且工作正常,但我想要的是我不想過(guò)濾兩次,想要以一種方式所以你能幫我找到最好的解決方案嗎例子 const arrList = [{v:'1',l:'label1'},{v:'2',l:'label2'}, {v:'3',l:'label3'}, {v:'4',l:'label4'}, {v:'5',l:'label5'}]const filter1 = arrList.filter((a) => a.l !== 'label1')const filter3 = filter1.filter((a) => a.l !== 'label3')console.log(filter3);
3 回答

紅糖糍粑
TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊
或者您可以使用更簡(jiǎn)單的解決方案:
arrList.filter((a) => !['label1', 'label3'].includes(a.l))

慕后森
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
您正在使用 2 個(gè)語(yǔ)句來(lái)過(guò)濾,第一個(gè)不等于label1
和另一個(gè)語(yǔ)句label3
。您可以使用 AND&&
運(yùn)算符將它們組合在一個(gè)語(yǔ)句中,如下所示
const filter1 = arrList.filter((a) => a.l !== 'label1' && a.l !== 'label3')

慕萊塢森
TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以使用&&將邏輯語(yǔ)句組合成單個(gè)filter()表達(dá)式:
const arrList = [{v:'1',l:'label1'},{v:'2',l:'label2'},{v:'3',l:'label3'}, {v:'4',l:'label4'},{v:'5',l:'label5'}]
const filtered = arrList.filter(a => a.l !== 'label1' && a.l !== 'label3')
console.log(filtered);
添加回答
舉報(bào)
0/150
提交
取消