如何將數(shù)組中元素為空的數(shù)據(jù)過濾掉?
場(chǎng)景:后臺(tái)返回所有文件列表信息,需要將fileId有值的文件過濾出來回顯到頁(yè)面上。
錯(cuò)誤處理:使用map+if判斷
let arr = [
{
fileId: '1',
fileName: '繳費(fèi)明細(xì)表'
},
{
fileId: '2',
fileName: '支付明細(xì)表'
},
{
fileId: null,
fileName: '蓋章明細(xì)表'
}
]
let newArr = arr.map((item) => {
if(item.fileId) {
return item
}
})
console.log(newArr)

顯然,結(jié)果是不對(duì)的,fileId沒有值的那一/幾項(xiàng)處理為undefined了。那如何解決這個(gè)問題呢?
自然是使用filter過濾fileId沒有值的那一/幾項(xiàng)。
let arr = [
{
fileId: '1',
fileName: '繳費(fèi)明細(xì)表'
},
{
fileId: '2',
fileName: '支付明細(xì)表'
},
{
fileId: null,
fileName: '蓋章明細(xì)表'
}
]
let newArr = arr.filter((item) => {
return item.fileId
})
console.log(newArr)

如果只想拿到fileId有值的那一/幾項(xiàng)的fileId呢?
let arr = [
{
fileId: '1',
fileName: '繳費(fèi)明細(xì)表'
},
{
fileId: '2',
fileName: '支付明細(xì)表'
},
{
fileId: null,
fileName: '蓋章明細(xì)表'
}
]
let newArr = arr.filter((item) => {
return item.fileId
}).map((items) => {
return items.fileId
})
console.log(newArr)
![]()

浙公網(wǎng)安備 33010602011771號(hào)