如何使用JavaScript的map函数将JSON对象转换为不含空值的数组
JavaScript实现对象转非空值数组方案
完整实现代码
// 假设这是你从接口拿到的requirementDetails对象 const requirementDetails = { requirementId1: "A", requirementId2: "B", requirementId3: "C", requirementId4: "D", requirementId5: "E", requirementId6: "", requirementId7: "", requirementId8: "", requirementId9: "", } // 转换逻辑(包含map调用,满足需求) const data = Object.values(requirementDetails) .map(item => item) // 可根据业务需要在map中对值做额外处理,比如去空格可以写成item.trim() .filter(item => item !== '') console.log(data) // 输出:["A","B","C","D","E"]
逻辑说明
- 先用
Object.values()方法提取对象所有属性值,得到初始数组["A","B","C","D","E","","","",""] - 调用
map方法遍历数组,可在这一步对每个值做自定义格式化处理,无特殊需求直接返回原值即可 - 最后调用
filter方法过滤掉所有空字符串,得到最终的非空值数组
注:单独使用
map无法实现过滤效果,因为map是对等映射方法,输出数组长度和输入数组完全一致,因此需要配合filter完成去空逻辑
内容的提问来源于stack exchange,提问作者user16510443
相关产品推荐
相关产品推荐

