如何过滤掉数组对象中name属性为空的对应元素
实现方案
直接使用JavaScript内置的数组filter方法即可完成需求,该方法会返回符合过滤条件的新数组,不会影响原数组的原始元素。
基础实现(仅过滤空字符串)
如果你只需要过滤name为严格空字符串""的元素,直接使用如下代码:
const rawData = { data: [ {id: "15012595118", name: ""}, {id: "15386434684", name: "Generic"}, {id: "15413038239", name: ""} ] } // 方式1:直接修改原对象的data属性 rawData.data = rawData.data.filter(item => item.name !== '') // 方式2:生成新对象不修改原数据 const processedData = { ...rawData, data: rawData.data.filter(item => item.name !== '') }
严谨实现(兼容多异常场景)
如果需要同时过滤name为null、undefined、全空格的场景,可以调整判断条件:
// 会自动过滤name为null/undefined/空字符串/全空格的元素 rawData.data = rawData.data.filter(item => item?.name?.trim())
处理完成后得到的结果和预期完全一致:
data: [ {id: "15386434684", name: "Generic"} ]
内容的提问来源于stack exchange,提问作者Giulia Santoro
相关产品推荐
相关产品推荐

